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. -
Experimental
class
-
A palavra-chave
class
define uma classe. -
Experimental
function*
-
A palavra-chave
function*
define um gerador de função. -
Experimental
yield
-
Pausa e retorma uma função de gerador
-
Experimental
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.
-
Experimental
[for (x of y) x]
(en-US) -
Array comprehensions.
-
Experimental
(for (x of y) y)
(en-US) -
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. -
Experimental
super
-
The
super
keyword calls the parent constructor. -
Experimental
...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
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
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.
-
Experimental
[a, b] = [1, 2]
Experimental{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
- Non-standard Legacy generator function (en-US)
-
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. - Non-standard 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 |