Guía JavaScript 1.5:Expresiones y operadores
De MDC
[editar] Expresiones
Una expresión es cualquier conjunto válido de literales, variables, operadores y expresiones que se evalúan como un único valor; el valor puede ser un número, una cadena o un valor lógico (booleano).
Conceptualmente, hay dos tipos de expresiones: las que asignan un valor a una variable y las que simplemente tienen un valor. Por ejemplo, la expresión x = 7 es una expresión que asigna a x el valor 7. Esta expresión se evalúa como siete. Dichas expresiones usan operadores de asignación. Por otra parte, la expresión 3 + 4 simplemente se evalúa como siete; no se realiza ninguna asignación. Los operadores usados en dichas expresiones se les llama simplemente operadores.
JavaScript tiene los siguientes tipos de expresiones:
- Aritméticas: se evalúan como un número, por ejemplo 3.14159. (Generalmente usan Operadores aritméticos.)
- De cadena: se evalúan como una cadena de caracteres, por ejemplo, "Fred" o "234". (Generalmente usan Operadores de cadena de caracteres (string).)
- Lógicas: se evalúan como verdadero o falso. (A menudo emplean Operadores lógicos.)
- De objeto: se evalúan como un objeto. (Ver Operadores especiales para varios que evalúan objetos.)
[editar] Operadores
JavaScript tiene los siguientes tipos de operadores. Esta sección describe los distintos operadores y tiene información de cada uno de ellos.
- Operadores de asignación
- Operadores de comparación
- Operadores aritméticos
- Operadores sobre bits
- Operadores lógicos
- Operadores de cadenas de caracteres (string)
- Operadores especiales
JavaScript posee operadores binarios y unitarios. Un operador binario requiere dos operandos, uno antes y otro después del operador:
operando1 operador operando2
Por ejemplo, 3+4 o x*y.
Un operador unitario sólo requiere un operando, delante o destrás del operador:
operador operando
o
operando operador
Por ejemplo, x++ o ++x.
Además, JavaScript posee un operador ternario, el operador condicional. Un operador ternario requiere tres operandos.
[editar] Precedencia de operadores
Esta tabla está ordenada en orden decreciente de prioridad.
| Tipo de operador | Operadores individuales |
|---|---|
| miembro | . [] |
| llamada/crear instancia | () new |
| negación/incremento | ! ~ - + ++ -- typeof void delete |
| multiplicación/división | * / % |
| suma/resta | + - |
| desplazamiento de bits | << >> >>> |
| relacionales | < <= > >= in instanceof |
| igualdad | == != === !== |
| and a nivel de bits | & |
| xor a nivel de bits | ^ |
| or a nivel de bits | | |
| and lógico | && |
| or lógico | || |
| condicional | ?: |
| asignación | = += -= *= /= %= <<= >>= >>>= &= ^= |= |
| coma | , |
Tabla 3.1: Precedencia de operadores
Una versión más detallada de esta tabla, completa con enlaces a información adicional de cada operador, puede encontrarse en Referencia JavaScript 1.5.