JavaScript/Operadores
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)+*" <br />");
}
#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 → |