Saltar ao contido

JavaScript/Operadores

En Galilibros, o Wikibooks en galego.
JavaScript
← Volver a Variables Operadores Seguir con Array


Existen de varios tipos de operadores: de asignación, aritméticos, relacionais, lóxicos, especiais

Operador de asignación

[editar]

O operador de asignación é o símbolo matemático de igual, «=», cuxa función consiste en recoller o resultado da expresión que haxa á súa dereita na variable que teña á esquerda. Exemplo:

variable = "valor";

Operadores aritméticos

[editar]

Os aritméticos son os matemáticos: suma(+), resta(-), multiplicación(*), división(/), e resto de división ou módulo (%). O operador + tamén pode ser utilizado para concatenar strings. A súa utilización pode ser:

    variable = "valor" #operador\\\ "valor";
    variable #operador\\\= "valor";

No primeiro caso asignamos á variable variable o resultado da operación; e no segundo caso aplícase a operación directamente á variable variable modificando o seu valor primitivo, equivalería a:

    variable = variable #operador\\\ "valor";

Tamén existen os aritméticos unitarios que non necesitan doutro valor para actuar a unha variable como os aritméticos normais. Son ++, -- e -. ++ Conseguirá sumar unha unidade á variable á que acompaña. -- Conseguirá o efecto inverso, restará unha unidade á variable que acompaña. - É o operador unitario negativo, cambiará o signo da variable á que acompaña.

Advertencia sobre os #operador\\\ aritméticos unitarios ++ e --

[editar]

Un ++ antes dunha variable aumentará o seu valor nunha unidade e a súa aplicación será con ese novo valor. Un ++ logo da variable aumentará o valor da variable logo da súa aplicación, é dicir, aplicarase co valor antigo e despois agregarase unha unidade. O mesmo ocorre con --.

Exemplo:

    x=10;
    e=x++;

Outorgará un valor inicial á variable x de 10 e á e de 10. Pero despois a x súmaselle unha unidade, logo x terá o valor 11 ao terminar a execución.

Exemplo2:

    x=10;
    e=++x;

Aquí a x outorgámoslle o valor 10, despois sumámoslle unha unidade e asignámosllo a e, polo que as dúas variables valerán 11.

Operadores relacionais

[editar]

Os relacionais son os que comparan os valores das variables uns con outros. Devolven un true ou un false dependendo se son verdadeiros ou falsos. Son

  • > Maior que
  • >= Maior ou igual
  • < Menor que
  • <= Menor ou igual
  • == Igual que (mesmo valor sen ser obrigatoriamente mesmo tipo)
  • === Estritamente igual que (mesmo valor e mesmo tipo de variable)
  • != Distinto que

Operadores lóxicos

[editar]

Estes agrupan conxuntos de expresións. Son os seguintes:

  • (&&) AND valoración
  • (||) OR valoración
  • (@^)\ XOR: OR exclusivo (ou un, ou o outro, pero non os dous á vez)
  • (!) NOT:Negación

Existen tamén #operador\\\ de asignación combinados con operadores lóxicos (&=, |=,=).

Ademais dos operadores de valoración, tamén existen #operador\\\ que traballan a nivel de bits:

  • & AND
  • | OR. XOR
  • Complemento a un
  • >> Shift á dereita
  • << Shift á esquerda
  • >>> Shift á dereita enchendo os ceros

O operador AND bit a bit pódese concibir como un modo para cancelar un bit levándoo a 0. O operador OR bit a bit é o contrario de AND e pode utilizarse para impostar en 1 un bit, mentres que o operador XOR pode utilizarse para impostar en 1 un bit se os bit comparados son distintos.

Os operadores de shift corren todos os bit dunha variable cara á dereita ou cara á esquerda un número determinado de posicións e os novos bit que se crean se impostan en 1, mentres que os bit que salguen pérdense (excepto os do signo).

As operacións de shift son útiles para descifrar o input dun dispositivo externo, como un conversor analóxico/dixital, e permiten realizar operacións rapidísimas entre enteiros en canto o feito de correrse á dereita divide un número por dous, mentres que correrse á esquerda multiplícao tamén por dous.

O operador de complemento a un, pola súa banda, inviste o estado dos bit, polo que todos os 1 cambiaranse en 0, e viceversa. Naturalmente, dúas operacións de complemento no mesmo número producen como resultado o número orixinal.

Operadores especiais

[editar]

Operador condicional (?:)

[editar]

O operador condicional é o único operador de JavaScript que ten tres operandos. A expresión toma un valor ou outro dependendo da condición:

   condición ? valor_true : valor_false

Exemplo:

    var estado = (idade>=18) ? "adulto" : "menor";

#Operador\\\ coma (,)

[editar]

Serve para concatenar expresións. É útil en bucles for.

Exemplo:

    for(var a=0, b=1; (a *<b 100) || (a 14);>a++, b*=2) {
        document.write(a+" * "+b+" = "+(a b)+*" &lt;br /&gt;");
    }

#Operador\\\ delete

[editar]

Borra un obxecto, unha propiedade dun obxecto, ou un elemento dun array dado o seu índice. A sintaxe é:

    delete obxecto
    delete obxecto.propiedade
    delete táboa[indice]

O #operador\\\ delete non se pode usar coas variables declaradas explicitamente coa sentenza var. Se o delete ten éxito devolverá un true, e ademais cambiará o valor do que esteamos utilizando a undefined.

Para eliminar un elemento dun array, pódese usar

    delete meuarray[2];

O obxecto pasará a non ter valor, e o programa tratarao como undefined, tal e como se utilizamos unha elemento dun array máis alto que a propia lonxitude do array. Para entregarlle explicitamente o valor undefined debemos outorgarllo coa palabra reservada:

    meuarray[2]=undefined;

#Operador\\\ in

[editar]

O operador in devolve true se a propiedade esta especificada no obxecto indicado:

    propiedade in obxecto;

Tamén pode comprobar se un índice dun array está dentro dos valores posibles do array (entre 0 e array.length-1, a non ser que a eliminamos co operador delete).

#Operador\\\ instanceof

[editar]

Este operador devolve true se o obxecto indicado é unha instancia da clase que se especifica:

    obxecto instanceof clase;

Sendo a clase un tipo de obxecto, como Date, Array ou un obxecto creado por nós mesmos.

#Operador\\\ new

[editar]

new utilízase para crear novas instancias de obxectos, xa sexa dos predefinidos ou dos creados por nós.

    variable=new obxecto(param1, param2...);

#Operador\\\ this

[editar]

O #operador\\\ this utilízase máis que nada dentro da definición dun obxecto para referirse a unha instancia dun obxecto. Serve para declarar propiedades e métodos do propio obxecto que estarán dispoñibles a través da instancia.

#Operador\\\ typeof

[editar]

Pódese usar dos seguintes xeitos

    typeof variable;
    typeof (variable);

Devolve un string co tipo de variable que resulte ser: function, string, object, boolean...

#Operador\\\ void

[editar]

Pode verse en enlaces sobre todo. A expresión que lle acompaña é avaliada, pero non devolve ningún valor. Por exemplo:

    <a href="javascript:void(0)">Pulsa aquí para non facer nada</a>

Ao pulsar no enlace veremos que non resulta ningunha acción. Con todo:

    <a href="javascript:void(document.form.submit())">Pulsa aquí para enviar</a>

Executa a orde de submit() enviando o formulario onde houber de envialo. A expresión é avaliada pero non cargada en lugar do documento actual.


JavaScript
← Volver a Variables Operadores Seguir con Array