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
thisse refiere a una propiedad especial de un contexto de ejecución. function- La palabra clave
functiondefine una expresión de función. class- La palabra clave
classdefine 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 functiondefine 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.propertyyobject["property"]). new- El operador
newcrea una instancia auxiliado por un constructor. new.target- En los constructores,
new.targetse refiere al constructor que fue invocado pornew. super- La palabra clave
superllama 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
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. +(en-US)- El operador unario
másconvierte su operando al tipoNumber. -(en-US)- El operador unario de negación convierte su operando al tipo
Numbery luego lo niega. ~(en-US)- Operador
NOTbit a bit. !(en-US)- Operador
NOTló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
indetermina si un objeto tiene una determinada propiedad. instanceof- El operador
instanceofdetermina 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)ANDlógico.||(en-US)ORló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
ANDbit a bit. ^=(en-US)- Asignación de
XORbit a bit. |=(en-US)- Asignación de
ORbit a bit. &&=(en-US)- Asignación de
ANDlógico. ||=(en-US)- Asignación de
ORló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
comapermite 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

