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.
{}
(en-US)- 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 de incremento sufijo/prefijo y decremento sufijo/prefijo.
A++
(en-US)- Operador de incremento sufijo.
A--
- Operador de incremento sufijo.
A++
(en-US)- Operador de incremento prefijo.
--A
- Operador de decremento prefijo.
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. +
(en-US)- El operador unario
más
convierte su operando al tipoNumber
. -
(en-US)- El operador unario de negación convierte su operando al tipo
Number
y luego lo niega. ~
(en-US)- Operador
NOT
bit a bit. !
(en-US)- 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. <
(en-US)- Operador menor que.
>
(en-US)- Operador mayor que.
<=
(en-US)- Operador menor o igual a.
>=
(en-US)- Operador mayor o igual a.
Nota: => no es un operador, sino la notación para Funciones de flecha
.
Operadores de igualdad
El resultado de evaluar un operador de igualdad siempre es de tipo Boolean
basado en si la comparación es verdadera.
==
- Operador de igualdad.
!=
(en-US)- Operador de desigualdad.
===
- Operador de igualdad estricta.
!==
(en-US)- Operador de desigualdad estricta.
Operadores de desplazamiento de bits
Operaciones para cambiar todos los bits del operando.
<<
(en-US)- Operador de desplazamiento bit a bit a la izquierda.
>>
(en-US)- Operador de desplazamiento bit a bit a la derecha.
>>>
(en-US)- Operador de desplazamiento bit a bit a la derecha sin signo.
Operadores binarios bit a bit
Los operadores bit a bit tratan a sus operandos como un conjunto de 32 bits (ceros y unos) y devuelven valores numéricos estándar de JavaScript.
Operadores lógicos binarios
Los operadores lógicos se utilizan normalmente con valores booleanos (lógicos); cuando lo son, devuelven un valor booleano.
&&
(en-US)AND
lógico.||
(en-US)OR
lógico.
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.
*=
(en-US)- Asignación de multiplicación.
/=
(en-US)- Asignación de división.
%=
(en-US)- Asignación de residuo.
+=
(en-US)- Asignación de suma.
-=
(en-US)- Asignación de sustracción
<<=
(en-US)- Asignación de desplazamiento a la izquierda.
>>=
(en-US)- Asignación de desplazamiento a la derecha.
>>>=
(en-US)- Asignación de desplazamiento a la derecha sin signo.
&=
(en-US)- Asignación de
AND
bit a bit. ^=
(en-US)- Asignación de
XOR
bit a bit. |=
(en-US)- Asignación de
OR
bit a bit. &&=
(en-US)- Asignación de
AND
lógico. ||=
(en-US)- Asignación de
OR
lógico. ??=
(en-US)- 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
Especificación |
---|
ECMAScript (ECMA-262) La definición de 'ECMAScript Language: Expressions' en esta especificación. |
Compatibilidad del navegador
BCD tables only load in the browser