Este capítulo documenta todos os operadores, expressões e keywords da linguagem JavaScript .
Expressões e operadores por categoria
Para uma lista alfabética ver a barra lateral à esquerda.
Expressões primárias
Palavras-chave e expressões básicas em JavaScript.
this
- A palavra-chave
this
refere-se ao contexto de execução da função. function
- A palavra-chave
function
define uma função. -
class
- A palavra-chave
class
define uma classe. -
function*
- A palavra-chave
function*
define um gerador de função. -
yield
- Pausa e retorma uma função de gerador
-
yield*
- Delegar a outra função gerador ou objeto iterável.
[]
- Array initializer/literal syntax.
{}
- Object initializer/literal syntax.
/ab+c/i
- Regular expression literal syntax.
-
[for (x of y) x]
- Array comprehensions.
-
(for (x of y) y)
- Generator comprehensions.
( )
- Grouping operator.
Left-hand-side expressions
Left values are the destination of an assignment.
- Property accessors
- Member operators provide access to a property or method of an object
(object.property
andobject["property"]
). new
- The
new
operator creates an instance of a constructor. -
super
- The
super
keyword calls the parent constructor. -
...obj
- The spread operator allows an expression to be expanded in places where multiple arguments (for function calls) or multiple elements (for array literals) are expected.
Incremento e decremento
Operadores sufixo/prefixo para incremento e sufixo/prefixo para decremento.
Unary operators
A unary operation is operation with only one operand.
delete
- The
delete
operator deletes a property from an object. void
- The
void
operator discards an expression's return value. typeof
- The
typeof
operator determines the type of a given object. +
- The unary plus operator converts its operand to Number type.
-
- The unary negation operator converts its operand to Number type and then negates it.
~
- Bitwise NOT operator.
!
- Logical NOT operator.
Operadores aritméticos
Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value.
Operadores relacionais
A comparison operator compares its operands and returns a Boolean
value based on whether the comparison is true.
Operadores de igualdade
O resultador de um operador de igualdade é do tipo Booleano
baseado que a comparação seja verdadeira.
Bitwise shift operators
Operations to shift all bits of the operand.
Binary bitwise operators
Bitwise operators treat their operands as a set of 32 bits (zeros and ones) and return standard JavaScript numerical values.
Operadores Lógicos Binários
Operadores lógicos são normalmente usados com boolean (logical) valores, e quando eles são, eles retornam um valor Boolean.
Operador de Condicional (ternário)
(condition ? ifTrue : ifFalse)
-
O operador condicional retorna um dos dois valores baseado no valor lógico da condição.
Assignment operators
An assignment operator assigns a value to its left operand based on the value of its right operand.
=
- Assignment operator.
*=
- Multiplication assignment.
/=
- Division assignment.
%=
- Remainder assignment.
+=
- Addition assignment.
-=
- Subtraction assignment
<<=
- Left shift assignment.
>>=
- Right shift assignment.
>>>=
- Unsigned right shift assignment.
&=
- Bitwise AND assignment.
^=
- Bitwise XOR assignment.
|=
- Bitwise OR assignment.
-
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
Destructuring assignment allows you to assign the properties of an array or object to variables using syntax that looks similar to array or object literals.
Comma operator
,
- The comma operator allows multiple expressions to be evaluated in a single statement and returns the result of the last expression.
Non-standard features
- Legacy generator function
- The
function
keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contains at least oneyield
expression. - Expression closures
- The expression closure syntax is a shorthand for writing simple function.
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition. | Standard | Definição inicial. |
ECMAScript 5.1 (ECMA-262) The definition of 'Expressions' in that specification. |
Padrão | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'ECMAScript Language: Expressions' in that specification. |
Padrão | Novo: Spread operator, destructuring assignment, super keyword, Array comprehensions, Generator comprehensions |