Operadores

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 and object["property"]).
new
The new operator creates an instance of a constructor.
super
The super keyword calls the parent constructor.
...obj (en-US)
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.

A++ (en-US)
Operador sufixo para incremento.
A-- (en-US)
Operador sufixo para decremento.
++A (en-US)
Operador prefixo para incremento.
--A (en-US)
Operador prefixo para decremento.

Unary operators

A unary operation is operation with only one operand.

delete (en-US)
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.
+ (en-US)
The unary plus operator converts its operand to Number type.
- (en-US)
The unary negation operator converts its operand to Number type and then negates it.
~ (en-US)
Bitwise NOT operator.
! (en-US)
Logical NOT operator.

Operadores aritméticos

Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value.

+ (en-US)
Operador de soma.
- (en-US)
Operador de subtração.
/ (en-US)
Operador de divisão.
* (en-US)
Operador de multiplicação.
% (en-US)
Remainder operator.

Operadores relacionais

A comparison operator compares its operands and returns a Boolean value based on whether the comparison is true.

in
The in operator determines whether an object has a given property.
instanceof
The instanceof operator determines whether an object is an instance of another object.
< (en-US)
Operador "menor que".
> (en-US)
Operador "maior que".
<= (en-US)
Operador "menor ou igual que".
>= (en-US)
Operador "maior ou igual que".

Operadores de igualdade

O resultador de um operador de igualdade é do tipo Booleano baseado que a comparação seja verdadeira.

== (en-US)

Operadores de igualdade.
!= (en-US)
Inequality operator.
=== (en-US)
Identity operator.
!== (en-US)
Nonidentity operator.

Bitwise shift operators

Operations to shift all bits of the operand.

<< (en-US)
Bitwise left shift operator.
>> (en-US)
Bitwise right shift operator.
>>> (en-US)
Bitwise unsigned right shift operator.

Binary bitwise operators

Bitwise operators treat their operands as a set of 32 bits (zeros and ones) and return standard JavaScript numerical values.

& (en-US)
Bitwise AND.
| (en-US)
Bitwise OR.
^ (en-US)
Bitwise XOR.

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.

&& (en-US)
AND.
|| (en-US)
 OR.

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.

= (en-US)
Assignment operator.
*= (en-US)
Multiplication assignment.
/= (en-US)
Division assignment.
%= (en-US)
Remainder assignment.
+= (en-US)
Addition assignment.
-= (en-US)
Subtraction assignment
<<= (en-US)
Left shift assignment.
>>= (en-US)
Right shift assignment.
>>>= (en-US)
Unsigned right shift assignment.
&= (en-US)
Bitwise AND assignment.
^= (en-US)
Bitwise XOR assignment.
|= (en-US)
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 one yield 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

Veja também