---
title: Expresiones y operadores
slug: Web/JavaScript/Reference/Operators
tags:
- Descripción
- JavaScript
- Operadores
- Operators
- Referencia
translation_of: Web/JavaScript/Reference/Operators
original_slug: Web/JavaScript/Referencia/Operadores
---
{{jsSidebar("Operators", "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.
- {{jsxref("Operators/this", "this")}}
- La palabra clave
this
se refiere a una propiedad especial de un contexto de ejecución.
- {{jsxref("Operators/function", "function")}}
- La palabra clave
function
define una expresión de función.
- {{jsxref("Operators/class", "class")}}
- La palabra clave
class
define una expresión de clase.
- {{jsxref("Operators/function", "function")}}
- La palabra clave
function*
define una expresión de función generadora.
- {{jsxref("Operators/yield", "yield")}}
- Pausar y reanudar una función generadora.
- {{jsxref("Operators/yield*", "yield*")}}
- Delegar a otra función generadora u objeto iterable.
- {{jsxref("Operators/async_function", "async function")}}
- La
async function
define una expresión de función asíncrona.
- {{jsxref("Operators/await", "await")}}
- Pausa y reanuda una función asíncrona y espera la resolución/rechazo de la promesa.
- {{jsxref("Global_Objects/Array", "[]")}}
- Iniciador de arreglo/sintaxis literal.
- {{jsxref("Operators/Object_initializer", "{}")}}
- Iniciador de objeto/sintaxis literal.
- {{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
- Sintaxis de expresión regular literal.
- {{jsxref("Operators/Grouping", "( )")}}
- Operador de agrupación.
Expresiones del lado izquierdo
Los valores de la izquierda son el destino de una asignación.
- {{jsxref("Operators/Property_accessors", "Propiedad accessors", "", 1)}}
- Los operadores miembro proporcionan acceso a una propiedad o método de un objeto
(object.property
y object["property"]
).
- {{jsxref("Operators/new", "new")}}
- El operador
new
crea una instancia auxiliado por un constructor.
- {{jsxref("Operators/new%2Etarget", "new.target")}}
- En los constructores,
new.target
se refiere al constructor que fue invocado por {{jsxref("Operators/new", "new")}}.
- {{jsxref("Operators/super", "super")}}
- La palabra clave
super
llama al constructor padre.
- {{jsxref("Operators/Spread_syntax", "...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.
- {{jsxref("Operators/Increment", "A++")}}
- Operador de incremento sufijo.
- {{jsxref("Operators/Decrement", "A--")}}
- Operador de incremento sufijo.
- {{jsxref("Operators/Increment", "A++")}}
- Operador de incremento prefijo.
- {{jsxref("Operators/Decrement", "--A")}}
- Operador de decremento prefijo.
Operadores unarios
Una operación unaria es una operación con un solo operando.
- {{jsxref("Operators/delete", "delete")}}
- El operador
delete
elimina una propiedad de un objeto.
- {{jsxref("Operators/void", "void")}}
- El operador
void
descarta el valor de retorno de una expresión.
- {{jsxref("Operators/typeof", "typeof")}}
- El operador
typeof
determina el tipo de un objeto dado.
- {{jsxref("Operators/Unary_plus", "+")}}
- El operador unario
más
convierte su operando al tipo Number
.
- {{jsxref("Operators/Unary_negation", "-")}}
- El operador unario de negación convierte su operando al tipo
Number
y luego lo niega.
- {{jsxref("Operators/Bitwise_NOT", "~")}}
- Operador
NOT
bit a bit.
- {{jsxref("Operators/Logical_NOT", "!")}}
- 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.
- {{jsxref("Operators/Addition", "+")}}
- Operador de adición o suma.
- {{jsxref("Operators/Subtraction", "-")}}
- Operador de sustracción o resta.
- {{jsxref("Operators/Division", "/")}}
- Operador de división.
- {{jsxref("Operators/Multiplication", "*")}}
- Operador de multiplicación.
- {{jsxref("Operators/Remainder", "%")}}
- Operador de residuo.
- {{jsxref("Operators/Exponentiation", "**")}}
- Operador de exponenciación.
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.
- {{jsxref("Operators/in", "in")}}
- El operador
in
determina si un objeto tiene una determinada propiedad.
- {{jsxref("Operators/instanceof", "instanceof")}}
- El operador
instanceof
determina si un objeto es una instancia de otro objeto.
- {{jsxref("Operators/Less_than", "<")}}
- Operador menor que.
- {{jsxref("Operators/Greater_than", ">")}}
- Operador mayor que.
- {{jsxref("Operators/Less_than_or_equal", "<=")}}
- Operador menor o igual a.
- {{jsxref("Operators/Greater_than_or_equal", ">=")}}
- Operador mayor o igual a.
Nota: => no es un operador, sino la notación para {{jsxref("Functions/Arrow_functions", "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.
- {{jsxref("Operators/Equality", "==")}}
- Operador de igualdad.
- {{jsxref("Operators/Inequality", "!=")}}
- Operador de desigualdad.
- {{jsxref("Operators/Strict_equality", "===")}}
- Operador de igualdad estricta.
- {{jsxref("Operators/Strict_inequality", "!==")}}
- Operador de desigualdad estricta.
Operadores de desplazamiento de bits
Operaciones para cambiar todos los bits del operando.
- {{jsxref("Operators/Left_shift", "<<")}}
- Operador de desplazamiento bit a bit a la izquierda.
- {{jsxref("Operators/Right_shift", ">>")}}
- Operador de desplazamiento bit a bit a la derecha.
- {{jsxref("Operators/Unsigned_right_shift", ">>>")}}
- 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.
- {{jsxref("Operators/Bitwise_AND", "&")}}
AND
bit a bit.
- {{jsxref("Operators/Bitwise_OR", "|")}}
OR
bit a bit.
- {{jsxref("Operators/Bitwise_XOR", "^")}}
XOR
bit a bit.
Operadores lógicos binarios
Los operadores lógicos se utilizan normalmente con valores booleanos (lógicos); cuando lo son, devuelven un valor booleano.
- {{jsxref("Operators/Logical_AND", "&&")}}
AND
lógico.
- {{jsxref("Operators/Logical_OR", "||")}}
OR
lógico.
Operador condicional (ternario)
- {{jsxref("Operators/Conditional_Operator", "(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.
- {{jsxref("Operators/Assignment", "=")}}
- Operador de asignación.
- {{jsxref("Operators/Multiplication_assignment", "*=")}}
- Asignación de multiplicación.
- {{jsxref("Operators/Division_assignment", "/=")}}
- Asignación de división.
- {{jsxref("Operators/Remainder_assignment", "%=")}}
- Asignación de residuo.
- {{jsxref("Operators/Addition_assignment", "+=")}}
- Asignación de suma.
- {{jsxref("Operators/Subtraction_assignment", "-=")}}
- Asignación de sustracción
- {{jsxref("Operators/Left_shift_assignment", "<<=")}}
- Asignación de desplazamiento a la izquierda.
- {{jsxref("Operators/Right_shift_assignment", ">>=")}}
- Asignación de desplazamiento a la derecha.
- {{jsxref("Operators/Unsigned_right_shift_assignment", ">>>=")}}
- Asignación de desplazamiento a la derecha sin signo.
- {{jsxref("Operators/Bitwise_AND_assignment", "&=")}}
- Asignación de
AND
bit a bit.
- {{jsxref("Operators/Bitwise_XOR_assignment", "^=")}}
- Asignación de
XOR
bit a bit.
- {{jsxref("Operators/Bitwise_OR_assignment", "|=")}}
- Asignación de
OR
bit a bit.
- {{jsxref("Operators/Logical_AND_assignment", "&&=")}}
- Asignación de
AND
lógico.
- {{jsxref("Operators/Logical_OR_assignment", "||=")}}
- Asignación de
OR
lógico.
- {{jsxref("Operators/Logical_nullish_assignment", "??=")}}
- Asignación de anulación lógica.
- {{jsxref("Operators/Destructuring_assignment", "[a, b] = [1, 2]")}}
{{jsxref("Operators/Destructuring_assignment", "{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
- {{jsxref("Operators/Comma_Operator", ",")}}
- 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 |
{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}} |
Compatibilidad del navegador
{{Compat("javascript.operators")}}
Ve también
- {{jsxref("Operators/Operator_Precedence", "Operator de precedencia")}}