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 this hace referencia al contexto de la función ejecutada.
function
La palabra reservada function define una expresión de función.
class
La palabra reservada class define 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.property and object["property"]).
new
El operador new crea una instancia de un constructor.
super
La palabra reservada super llama 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 delete elimina una propiedad de un objeto.
void
El operador void descarta el valor de retorno de una expresión.
typeof
El operador typeof determina 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 in determina si un objeto tiene una propiedad dada.
instanceof
El operador instanceof determina 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.

&
AND en modo bit.
|
OR en modo bit.
^
XOR en modo bit.

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.

&&
AND lógico.
||
OR lógico.

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

Temas relacionados

Etiquetas y colaboradores del documento

Etiquetas: 
 Colaboradores en esta página: oagarcia, Alaon, SphinxKnight, Siro_Diaz, teoli, Mgjbot, Nathymig, Sheppy
 Última actualización por: oagarcia,