Javascript-Operadores
Este capítulo documenta todos os operadores, expressões e palavras chaves da linguagem JavaScript.

Expressões primárias

Palavras-chave e expressões básicas em JavaScript.
Palavra Utilidade
this A palavra-chave this refere-se ao contexto de execução da função, ou seja, a própria função, método.
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.
[] Inicializador de matriz / sintaxe literal.
{} Inicializador de objeto / sintaxe literal.
/ab+c/i Sintaxe literal de expressão regular.
[for (x of y) x] Array comprehensions.
(for (x of y) y) Generator comprehensions.
( ) Operador de agrupamento.

Left-hand-side expressions

Valores à esquerda são o destino de uma atribuição.

Property accessors Operadores membros fornecem acesso a uma propriedade ou método de um objeto (object.property e object["property"]).
new O novo operador cria uma instância de um construtor.
super A super palavra-chave chama o construtor pai.
...obj O operador de propagação permite que uma expressão seja expandida em locais onde vários argumentos (para chamadas de função) ou vários elementos (para literais de matriz) são esperados.

Incremento e decremento

Operadores sufixo/prefixo para incremento e sufixo/prefixo para decremento.

Operador Finalidade
A++ Operador sufixo para incremento.
A-- Operador sufixo para decremento.
++A Operador prefixo para incremento.
--A Operador prefixo para decremento.

Unary operators

Uma operação unária é uma operação com apenas um operando (operador unário).

Operador Utilidade
delete O operador delete exclui uma propriedade de um objeto.
void O operador void descarta o valor de retorno de uma expressão.
typeof O operador typeof determina o tipo de um determinado objeto.
+ O operador unário + converte seu operando no tipo Number.
- O operador de negação unário converte seu operando no tipo Number e depois o nega.
~ Operador bit a bit NÃO.
! Operador lógico NÃO.

Operadores aritméticos

Operadores aritméticos tomam valores numéricos (literais ou variáveis) como seus operandos e retornam um único valor numérico.

Operador Utilidade
+ Operador de soma.
- Operador de subtração.
/ Operador de divisão.
* Operador de multiplicação.
% Remainder operator.

Operadores relacionais

Um operador de comparação compara seus operandos e retorna um valor booleano com base em se a comparação é verdadeira.

Operador Finalidade
in O operador in determina se um objeto tem uma determinada propriedade.
instanceof O operador instanceof determina se um objeto é uma instância de outro objeto.
< Operador "menor que".
> Operador "maior que".
<= Operador "menor ou igual que".
>= Operador "maior ou igual que".

Operadores de igualdade

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

Operador Finalidade
== Operadores de igualdade.
!= Operador diferente.
=== Operador Identico (Valor e tipo).
!== Operador NÃO Identico.

Operadores de deslocamento bit a bit

Operações para mudar todos os bits do operando.

Operador Utilidade
<< Operador de deslocamento à esquerda bit a bit.
>> Operador de deslocamento à direita bit a bit.
>>> Operador de deslocamento à direita sem sinal bit a bit.

Operadores binários bit a bit

Os operadores bit a bit tratam seus operandos como um conjunto de 32 bits (zeros e uns) e retornam valores numéricos JavaScript padrão.

& AND bit a bit.
| OR bit a bit.
^ XOR bit a bit.

Nota :
1-AND -> A saída só será um se todas as entradas forem um.
2-OR -> A saída será um se pelo menos uma das entradas forem um.
3-XOR -> A saída será um se o número de entradas iguais a um for par.


Operadores Lógicos Binários

Operadores lógicos são normalmente usados com valores booleanos ou lógicos, e quando eles são, eles retornam um valor Booleano.
Operador Finalidade
&& AND
|| OR

Operador de Condicional Tenário

Basicamente é um if resumido.

Sintaxe : (condição ? SeTrue : SeFalse)
O operador condicional retorna um dos dois valores com base no valor lógico da condição.

Operadores de atribuição

Um operador de atribuição atribui um valor ao seu operando esquerdo com base no valor do seu operando direito.
Operador Finalidade
= Operador de atribuição.
*= Atribuição de multiplicação.
/= Atribuição de divisão.
%= Atribuição de resto ou restante
+= Atribuição de soma
-= Atribuição de subtração
<<= Atribuição de deslocamento para a esquerda bit a bit
>>= Atribuição de deslocamento para a direita bit a bit
>>>= Atribuição de deslocamento para a direita bit a bit sem sinal
&= Atribuição de AND bit a bit
^= Atribuição de XOR bit a bit
|= Atribuição OR bit a bit.
[a, b] = [1, 2], {a, b} = {a:1, b:2} A atribuição de reestruturação permite atribuir as propriedades de uma matriz ou objeto a variáveis usando uma sintaxe semelhante à literal de matriz ou objeto.