Este capítulo documenta todos los operadores del lenguaje, expresiones y palabras clave.
Expresiones y operadores por categoría
Para un orden alfabético mira la barra lateral de la izquierda.
Expresiones primarias
Palabras clave básicas y expresiones generales en JavaScript.
this- La palabra reservada
thishace referencia al contexto de la función ejecutada. function- La palabra reservada
functiondefine una expresión de función.
-
class - La palabra reservada
classdefine una expresión class.
-
function* - La palabra reservada
function*define una expresión de función generadora.
-
yield - Pausa y reanuda una función generadora generator
-
yield* - Delega a otra función generadora u objeto iterable.
[]- Sintaxis de inicialización de un arreglo literal.
{}- Sintaxis de inicialización de un objeto literal.
/ab+c/i- Sintaxis de expresión regular.
-
[for (x of y) x] - Comprensiones de Array.
-
(for (x of y) y) - Generador de comprensiones.
( )- Operador de agrupación.
Expresiones al lado izquierdo
Los valores al lado izquierdo son el destino de una asignación.
- Property accessors
- Operaciones miembro que proveen acceso a una propiedad o método de un objeto
(object.propertyandobject["property"]). new- El operador
newcrea una instancia de un constructor. -
super - La palabra reservada
superllama al constructor padre. -
...obj - El operador de propagación spread operator permite que una expresión sea expandida en situaciones donde múltiples argumentos (llamadas a funciones) o múltiples elementos (arreglos literales) son esperados.
Incremento y decremento
Operadores Sufijo/prefijo de incremento y Sufijo/prefijo de decremento.
A++- Sufijo del operador de incremento.
A--- Sufijo del operador de decremento.
++A- Prefijo del operador de incremento.
--A- Prefijo del operador de decremento.
Operadores Unarios
Una operación unaria es una operación con un único operando.
delete- El operador
deleteelimina una propiedad de un objeto. void- El operador
voiddescarta el valor de retorno de una expresión. typeof- El operador
typeofdetermina el tipo de un objeto dado. +- El operador unario positivo convierte su operando an un tipo numérico Number
-- El operador unario de negación convierte su operando a un tipo numérico Number y luego lo niega, es decir si es positivo lo vuelve negativo y viceversa.
~- Operador NOT en modo bit.
!- Operador lógico NOT.
Operadores aritméticos
Los operadores aritméticos toman valores numéricos (ya sean literales o variables) como sus operandos y retornan un único valor numérico.
+- Operador de adición o suma.
-- Operador de substracción o resta.
/- Operador de división.
*- Operador de multiplicación.
%- Operador de residuo.
Operadores relacionales
Un operador de comparación, compara sus operandos y retorna un valor boleano basado en determinar si la comparación es verdadera o no.
in- El operador
indetermina si un objeto tiene una propiedad dada. instanceof- El operador
instanceofdetermina si un objeto es una instancia de otro objeto, es decir si fué creado con una función constructora determinada. <- Operador menor que.
>- Operador mayor que.
<=- Operador menor o igual a
>=- Operador mayor o igual a
Operadores de igualdad
El resultado de evaluar un operador de igualdad es siempre de tipo boleano y se basa en determinar cuando la comparación es verdadera.
==- Operador de igualdad.
!=- Operador de desigualdad.
===- Operador de igualdad estricto.
!==- Operador de desigualdad estricta.
Operadores de desplazamiento de bits
Operaciones para desplazar todos los bits del operando.
<<- Operador de desplazamiento a la izquierda en modo bit.
>>- Operador de desplazamiento a la derecha en modo bit.
>>>- Operador de desplazamiento a la derecha en modo bit sin signo.
Operadores binarios en modo bit
Los operators de modo bit tratan sus operandos como un set de 32 bits (ceros y unos) y retornan valores numéricos estandar de Javascript.
Operadores lógicos binarios
Los operadores lógicos son tipicamente usados con valores boleanos (lógicos), y cuando es así, estos operadores retornan igualmente un valor boleano.
Operador condicional (ternario)
(condition ? ifTrue : ifFalse)-
El operador condicional retorna el segundo o el tercer operando, basado en el valor lógico del primero.
Operadores de asignación
Un operador de asignación, asigna un valor al operando de la izquierda basado en el valor del operando de la derecha.
=- Operador de asignación.
*=- Operador de asignación de multiplication.
/=- Operador de asignación de división.
%=- Operador de asignación de residuo.
+=- Operador de asignación de suma.
-=- Subtraction assignment
<<=- Operador de asignación y desplazamiento a la izquierda en modo bit.
>>=- Operador de asignación y desplazamiento a la derecha en modo bit.
>>>=- Operador de asignación y desplazamiento a la derecha en modo bit sin signo.
&=- Operador de asignación de AND en modo bit.
^=- Asignación de XOR en modo bit.
|=- asignación de OR en modo bit.
-
[a, b] = [1, 2]
{a, b} = {a:1, b:2} -
La sintaxis de asignación desestructurada es una expresión que permite extraer datos de un arreglo u objeto usando una sintaxis similar a la usada en arreglos literales y objetos literales.
Operador de coma
,-
El operador de coma permite que multiples expresiones sean evaluadas en una misma declaración y retorna el valor de la última exrpresión.
Especificaciones
| Especificación | Estatus | Comentario |
|---|---|---|
| ECMAScript 1st Edition. | Estándar | Definición inicial. |
| ECMAScript 5.1 (ECMA-262) The definition of 'Expressions' in that specification. |
Standard | |
| ECMAScript 6 (ECMA-262) The definition of 'ECMAScript Language: Expressions' in that specification. |
Release Candidate | Nuevo: operador de propagación spread operator, asignación desestructurada destructuring assignment, palabra reservada super, comprensiones de arreglos Array comprehensions, Comprensiones generadoras Generator comprehensions |