---
title: Expressions and operators
slug: Web/JavaScript/Referencia/Operadors
tags:
- JavaScript
- NeedsTranslation
- Operators
- TopicStub
translation_of: Web/JavaScript/Reference/Operators
---
{{jsSidebar("Operators")}}
Aquest capítol documenta totls els operadors, expressions i paraules clau del llenguatge JavaScript.
Expressions i operadors per categoria
Per a un llistat en order alfabetic vegeu el menú de l'esquerra.
Expressions primàries
Paraules clau bàsiques i expressions generals en JavaScript.
- {{jsxref("Operadors/this", "this")}}
- La paraula clau
this
fa referència al contexte d'execució de la funció actual.
- {{jsxref("Operadors/function", "function")}}
- La paraula clau
function
defineix una expressió de funció.
- {{experimental_inline()}} {{jsxref("Operadors/function*", "function*")}}
- La paraula clau
function*
defineix una expressió de funció generadora.
- {{experimental_inline()}} {{jsxref("Operadors/yield", "yield")}}
- Pausa i resumeix una funció generadora.
- {{experimental_inline()}} {{jsxref("Operadors/yield*", "yield*")}}
- Delega a una altra funció generadora o objecte iterable.
- {{jsxref("Global_Objects/Array", "[]")}}
- Sintaxi d'inicialització o literal d'arrays.
- {{jsxref("Operators/Object_initializer", "{}")}}
- Sintaxi d'inicialitzador o literal d'objectes.
- {{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
- Sintaxi de literals formats per expressions regulars.
- {{experimental_inline()}} {{jsxref("Operadors/Array_comprehensions", "[for (x of y) x]")}}
- Comprensió d'arrays.
- {{experimental_inline()}} {{jsxref("Operadors/Generator_comprehensions", "(for (x of y) y)")}}
- Comprensió de generators.
- {{jsxref("Operadors/Grouping", "( )")}}
- Operador d'agrupament.
Expressions de banda esquerra
Els valors de l'esquerra són la destinació d'una assignació.
- {{jsxref("Operadors/Property_accessors", "Property accessors", "", 1)}}
- Els operadors membres proporcionen accés a una propietat o mètode d'un objecte
(object.property
i object["property"]
).
- {{jsxref("Operadors/new", "new")}}
- L'operador
new
crea una instància d'un constructor.
- {{experimental_inline()}} {{jsxref("Operadors/super", "super")}}
- La paraula clau
super
crida el constructor de l'objecte pare.
- {{experimental_inline()}} {{jsxref("Operadors/Spread_operator", "...obj")}}
- L'operador d'extensió permet que una expressió s'expandeixi en llocs on s'esperen mútiples argurments (per a crides de funcions) o elements (per a literals d'arrays).
Increment i decrement
Operadors de increment o decrement en forma de prefix/sufix.
- {{jsxref("Operadors/Arithmetic_Operators", "A++", "#Increment")}}
- Operador sufix d'increment.
- {{jsxref("Operadors/Arithmetic_Operators", "A--", "#Decrement")}}
- Operador sufix de decrement.
- {{jsxref("Operadors/Arithmetic_Operators", "++A", "#Increment")}}
- Operador prefix d'increment.
- {{jsxref("Operadors/Arithmetic_Operators", "--A", "#Decrement")}}
- Operador prefix de decrement.
Operadors unaris
Un operador unari és un operador que només accepta un operand.
- {{jsxref("Operadors/delete", "delete")}}
- L'operador
delete
esborra una propietat d'un objecte.
- {{jsxref("Operadors/void", "void")}}
- L'operador
void
evalua una expressió i descarta el que retorni.
- {{jsxref("Operadors/typeof", "typeof")}}
- L'operador
typeof
determina el tipus d'un objecte donat.
- {{jsxref("Operadors/Arithmetic_Operators", "+", "#Unary_plus")}}
- L'operador unari més converteix l'operand donat al tipus Number.
- {{jsxref("Operadors/Arithmetic_Operators", "-", "#Unary_negation")}}
- L'operador unari negació converteix l'operand donat al tipus Number i llavors el nega.
- {{jsxref("Operadors/Bitwise_Operators", "~", "#Bitwise_NOT")}}
- Operador binari NOT.
- {{jsxref("Operadors/Logical_Operators", "!", "#Logical_NOT")}}
- Operador lògic NOT.
Operadors aritmètics
Els operadors aritmètics accepten valors numèrics (ja siguin literals o variables) com a operands i retornen un únic valor numèric.
- {{jsxref("Operadors/Arithmetic_Operators", "+", "#Addition")}}
- Operador de suma.
- {{jsxref("Operadors/Arithmetic_Operators", "-", "#Subtraction")}}
- Operador de resta.
- {{jsxref("Operadors/Arithmetic_Operators", "/", "#Division")}}
- Operador de divisió.
- {{jsxref("Operadors/Arithmetic_Operators", "*", "#Multiplication")}}
- Operador de multiplicació.
- {{jsxref("Operadors/Arithmetic_Operators", "%", "#Remainder")}}
- Operador de mòdul.
Operadors relacionals
Els operadors relacionals compara els operands donats i retorna un valor de tipus Boolean
value basat en si la relació és certa o no.
- {{jsxref("Operadors/in", "in")}}
- L'operador
in
determina si un objecte té la propietat donada.
- {{jsxref("Operadors/instanceof", "instanceof")}}
- L'operador
instanceof
determina si un objecte és una instància d'un altre objecte.
- {{jsxref("Operadors/Comparison_Operators", "<", "#Less_than_operator")}}
- Operador menor que.
- {{jsxref("Operadors/Comparison_Operators", ">", "#Greater_than_operator")}}
- Operador major que.
- {{jsxref("Operadors/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}
- Operador menor o igual que.
- {{jsxref("Operadors/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}
- Operador major o igual que.
Operadors d'igualtat
El resultat d'evaluar un operador d'igualtat és sempre de tipus Boolean
i el resultat es basa en si la comparació és certa.
- {{jsxref("Operadors/Comparison_Operators", "==", "#Equality")}}
- Operador d'igulatat.
- {{jsxref("Operadors/Comparison_Operators", "!=", "#Inequality")}}
- Operador de no igualtat.
- {{jsxref("Operadors/Comparison_Operators", "===", "#Identity")}}
- Operador identitat.
- {{jsxref("Operadors/Comparison_Operators", "!==", "#Nonidentity")}}
- Operador de no identitat.
Operadors de desplaçament de bits
Operacions que desplacen tots els bits d'un operand.
- {{jsxref("Operadors/Bitwise_Operators", "<<", "#Left_shift")}}
- Operador de desplaçament de bits a l'esquerra.
- {{jsxref("Operadors/Bitwise_Operators", ">>", "#Right_shift")}}
- Operador de desplaçament de bits a la dreta.
- {{jsxref("Operadors/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}
- Operador de desplaçament a la dreta sense signe.
Operadors binaris
Els operadors binaris tracten els seus operands com un conjunt de 32 bits (uns i zeros) i retornen valors numèrics standards de JavaScript.
- {{jsxref("Operadors/Bitwise_Operators", "&", "#Bitwise_AND")}}
- AND binari.
- {{jsxref("Operadors/Bitwise_Operators", "|", "#Bitwise_OR")}}
- OR binari.
- {{jsxref("Operadors/Bitwise_Operators", "^", "#Bitwise_XOR")}}
- XOR binari.
Operadors lògics
Els operadors lògics típicament s'utilitzen amb valors booleans (és a dir, logics) i retornen un valor booleà.
- {{jsxref("Operadors/Logical_Operators", "&&", "#Logical_AND")}}
- AND lògic.
- {{jsxref("Operadors/Logical_Operators", "||", "#Logical_OR")}}
- OR lògic.
Operador condicional (ternari)
- {{jsxref("Operadors/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}
-
L'operador condicional retorna un dels dos valors basat en l'evaluació lògica de la condició.
Operadors d'assignació
Els operadors d'assignació asignen un valor a l'operand de l'esquerra basant-se en l'evaluació de l'operand de la dreta.
- {{jsxref("Operadors/Assignment_Operators", "=", "#Assignment")}}
- Operador d'assignació.
- {{jsxref("Operadors/Assignment_Operators", "*=", "#Multiplication_assignment")}}
- Assignació de la multiplicació.
- {{jsxref("Operadors/Assignment_Operators", "/=", "#Division_assignment")}}
- Assignació de la divisó.
- {{jsxref("Operadors/Assignment_Operators", "%=", "#Remainder_assignment")}}
- Assignació del mòdul.
- {{jsxref("Operadors/Assignment_Operators", "+=", "#Addition_assignment")}}
- Assignació de la suma.
- {{jsxref("Operadors/Assignment_Operators", "-=", "#Subtraction_assignment")}}
- Assignació de la resta.
- {{jsxref("Operadors/Assignment_Operators", "<<=", "#Left_shift_assignment")}}
- Assignació del desplaçament a l'esquerra.
- {{jsxref("Operadors/Assignment_Operators", ">>=", "#Right_shift_assignment")}}
- Assignació del desplaçament a la dreta.
- {{jsxref("Operadors/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}
- Assignació del desplaçament a la dreta sense signe.
- {{jsxref("Operadors/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}
- Assignació de l'AND binari.
- {{jsxref("Operadors/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}
- Assignació del XOR binari.
- {{jsxref("Operadors/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}
- Assignació de l'OR binari.
- {{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "[a, b] = [1, 2]")}}
{{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}
-
L'assignació de desestructuració permet assignar les propietats d'un array o objecte a variables utilitzant una sintaxi que recorda la de literals d'arrays o objectes.
Operador coma
- {{jsxref("Operadors/Comma_Operator", ",")}}
- L'operador coma permet que múltiples expressions siguin evaluades en una sola sentència i retorna el resultat de l'última expressió.
Característiques no standard
- {{non-standard_inline}} {{jsxref("Operadors/Legacy_generator_function", "Legacy generator function", "", 1)}}
- La paraula clau
function
es pot emprar per a definir una funció generadora obsoleta dins una expressió. Per a crear una funció generadora obsoleta el cos de la funció ha de contindre al menys una expressió {{jsxref("Operators/yield", "yield")}}.
- {{non-standard_inline}} {{jsxref("Operadors/Expression_closures", "Expression closures", "", 1)}}
- La sintaxi d'expressions closure és una abreviació per a escriure funcions simples.
Especificacions
Especificació |
Estat |
Comentaris |
ECMAScript 1a Edició. |
Standard |
Definició inicial. |
{{SpecName('ES5.1', '#sec-11', 'Expressions')}} |
{{Spec2('ES5.1')}} |
|
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'Llenguatge ECMAScript: Expressions')}} |
{{Spec2('ES6')}} |
Nou: L'operador d'extensió, l'assignació de desestructuració, la paraula clau super , la comprensió d'arrays i la comprensió de generadors
|
Vegeu també