Expressions and 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.

this
La paraula clau this fa refer猫ncia al contexte d'execuci贸 de la funci贸 actual.
function
La paraula clau function defineix una expressi贸 de funci贸.
function*
La paraula clau function* defineix una expressi贸 de funci贸 generadora.
yield
Pausa i resumeix una funci贸 generadora.
yield*
Delega a una altra funci贸 generadora o objecte iterable.
[]
Sintaxi d'inicialitzaci贸 o literal d'arrays.
{}
Sintaxi d'inicialitzador o literal d'objectes.
/ab+c/i
Sintaxi de literals formats per expressions regulars.
[for (x of y) x]
Comprensi贸 d'arrays.
(for (x of y) y)
Comprensi贸 de generators.
( )
Operador d'agrupament.

Expressions de banda esquerra

Els valors de l'esquerra s贸n la destinaci贸 d'una assignaci贸.

Property accessors
Els operadors membres proporcionen acc茅s a una propietat o m猫tode d'un objecte
(object.property i object["property"]).
new
L'operador new crea una inst脿ncia d'un constructor.
super
La paraula clau super crida el constructor de l'objecte pare.
...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.

A++
Operador sufix d'increment.
A--
Operador sufix de decrement.
++A
Operador prefix d'increment.
--A
Operador prefix de decrement.

Operadors unaris

Un operador unari 茅s un operador que nom茅s accepta un operand.

delete
L'operador delete esborra una propietat d'un objecte.
void
L'operador void evalua una expressi贸 i descarta el que retorni.
typeof
L'operador typeof determina el tipus d'un objecte donat.
+
L'operador unari m茅s converteix l'operand donat al tipus Number.
-
L'operador unari negaci贸 converteix l'operand donat al tipus Number i llavors el nega.
~
Operador binari 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.

+
Operador de suma.
-
Operador de resta.
/
Operador de divisi贸.
*
Operador de multiplicaci贸.
%
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.

in
L'operador in determina si un objecte t茅 la propietat donada.
instanceof
L'operador instanceof determina si un objecte 茅s una inst脿ncia d'un altre objecte.
<
Operador menor que.
>
Operador major que.
<=
Operador menor o igual que.
>=
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.

==
Operador d'igulatat.
!=
Operador de no igualtat.
===
Operador identitat.
!==
Operador de no identitat.

Operadors de despla莽ament de bits

Operacions que desplacen tots els bits d'un operand.

<<
Operador de despla莽ament de bits a l'esquerra.
>>
Operador de despla莽ament de bits a la dreta.
>>>
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.

&
AND binari.
|
OR binari.
^
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脿.

&&
AND l貌gic.
||
OR l貌gic.

Operador condicional (ternari)

(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.

=
Operador d'assignaci贸.
*=
Assignaci贸 de la multiplicaci贸.
/=
Assignaci贸 de la divis贸.
%=
Assignaci贸 del m貌dul.
+=
Assignaci贸 de la suma.
-=
Assignaci贸 de la resta.
<<=
Assignaci贸 del despla莽ament a l'esquerra.
>>=
Assignaci贸 del despla莽ament a la dreta.
>>>=
Assignaci贸 del despla莽ament a la dreta sense signe.
&=
Assignaci贸 de l'AND binari.
^=
Assignaci贸 del XOR binari.
|=
Assignaci贸 de l'OR binari.
[a, b] = [1, 2]
{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

,
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

Legacy generator function
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贸 yield.
Expression closures
La sintaxi d'expressions closure 茅s una abreviaci贸 per a escriure funcions simples.

Especificacions

Especificaci贸 Estat Comentaris
ECMAScript 1a Edici贸. Standard Definici贸 inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'Expressions' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Llenguatge ECMAScript: Expressions' in that specification.
Standard

Nou: L'operador d'extensi贸, l'assignaci贸 de desestructuraci贸, la paraula clau super, la comprensi贸 d'arrays i la comprensi贸 de generadors

Vegeu tamb茅