Expresiones y operadores
Este capítulo documenta todos los operadores, expresiones y palabras clave del lenguaje JavaScript.
Expresiones y operadores por categoría
Para obtener una lista alfabética, consulta la barra lateral de la izquierda.
Expresiones primarias
Palabras clave básicas y expresiones generales en JavaScript.
this
-
La palabra clave
this
se refiere a una propiedad especial de un contexto de ejecución. function
-
La palabra clave
function
define una expresión de función. class
-
La palabra clave
class
define una expresión de clase. function
-
La palabra clave
function*
define una expresión de función generadora. yield
-
Pausar y reanudar una función generadora.
yield*
-
Delegar a otra función generadora u objeto iterable.
async function
-
La
async function
define una expresión de función asíncrona. await
-
Pausa y reanuda una función asíncrona y espera la resolución/rechazo de la promesa.
[]
-
Iniciador de arreglo/sintaxis literal.
{}
-
Iniciador de objeto/sintaxis literal.
/ab+c/i
-
Sintaxis de expresión regular literal.
( )
-
Operador de agrupación.
Expresiones del lado izquierdo
Los valores de la izquierda son el destino de una asignación.
- Propiedad accessors
-
Los operadores miembro proporcionan acceso a una propiedad o método de un objeto (
object.property
yobject["property"]
). new
-
El operador
new
crea una instancia auxiliado por un constructor. new.target
-
En los constructores,
new.target
se refiere al constructor que fue invocado pornew
. super
-
La palabra clave
super
llama al constructor padre. ...obj
-
La sintaxis de extensión permite expandir una expresión en lugares donde se esperan múltiples argumentos (para llamadas a funciones) o múltiples elementos (para arreglos literales).
Incremento y decremento
Operadores unarios
Una operación unaria es una operación con un solo 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
más
convierte su operando al tipoNumber
. -
-
El operador unario de negación convierte su operando al tipo
Number
y luego lo niega. ~
-
Operador
NOT
bit a bit. !
-
Operador
NOT
lógico.
Operadores aritméticos
Los operadores aritméticos toman valores numéricos (ya sean literales o variables) como sus operandos y devuelven un solo valor numérico.
Operadores relacionales
Un operador de comparación compara sus operandos y devuelve un valor Boolean
basado en si la comparación es verdadera o no.
in
-
El operador
in
determina si un objeto tiene una determinada propiedad. instanceof
-
El operador
instanceof
determina si un objeto es una instancia de otro objeto. <
-
Operador menor que.
>
-
Operador mayor que.
<=
-
Operador menor o igual a.
>=
-
Operador mayor o igual a.
Nota: =>
no es un operador, sino la notación para Funciones de flecha
.
Operadores de igualdad
Operadores de desplazamiento de bits
Operadores binarios bit a bit
Operadores lógicos binarios
Operador condicional (ternario)
(condition ? ifTrue : ifFalse)
-
El operador condicional devuelve uno de dos valores según el valor lógico de la condición.
Operadores de asignación
Un operador de asignación asigna un valor a su operando izquierdo basándose en el valor de su operando derecho.
=
-
Operador de asignación.
*=
-
Asignación de multiplicación.
/=
-
Asignación de división.
%=
-
Asignación de residuo.
+=
-
Asignación de suma.
-=
-
Asignación de sustracción
<<=
-
Asignación de desplazamiento a la izquierda.
>>=
-
Asignación de desplazamiento a la derecha.
>>>=
-
Asignación de desplazamiento a la derecha sin signo.
&=
-
Asignación de
AND
bit a bit. ^=
-
Asignación de
XOR
bit a bit. |=
-
Asignación de
OR
bit a bit. &&=
-
Asignación de
AND
lógico. ||=
-
Asignación de
OR
lógico. ??=
-
Asignación de anulación lógica.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
La desestructuración te permite asignar las propiedades de un arreglo u objeto a variables utilizando una sintaxis que se parece a los arreglos u objetos literales.
Operador coma
,
-
El operador
coma
permite evaluar múltiples expresiones en una sola declaración y devuelve el resultado de la última expresión.
Especificaciones
Compatibilidad con navegadores
BCD tables only load in the browser