--- 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é