Operadores de JavaScript
Exemplo:
Atribuir valores a variáveis e adicioná-los:
    let x = 5;     // atribua o valor 5 to x
    let y = 2;     // atribua o valor 2 to y
    let z = x + y; // atribua o valor 7 to z (5 + 2)
    
  O operador de atribuição (=) atribui um valor a uma variável.
Atribuição:
    let x = 10;
    
  O operador de adição (+) adiciona números:
Adicionando:
    let x = 5;
    let y = 2;
    let z = x + y;
    
  O operador de multiplicação (*) multiplica números.
Multiplicando:
    let x = 5;
    let y = 2;
    let z = x * y;
    
  Operadores aritméticos de JavaScript
Operadores aritméticos são usados para realizar operações aritméticas em números:
| Operator | Description | 
|---|---|
| + | Addition | 
| - | Subtraction | 
| * | Multiplication | 
| ** | Exponentiation (ES2016) | 
| / | Division | 
| % | Modulus (Division Remainder) | 
| ++ | Increment | 
| -- | Decrement | 
Os operadores aritméticos são totalmente descritos no capítulo JS Aritmética.
Operadores de atribuição de JavaScript
Os operadores de atribuição atribuem valores a variáveis JavaScript.
| Operator | Example | Same As | 
|---|---|---|
| = | x = y | x = y | 
| += | x += y | x = x + y | 
| -= | x -= y | x = x - y | 
| *= | x *= y | x = x * y | 
| /= | x /= y | x = x / y | 
| %= | x %= y | x = x % y | 
| **= | x **= y | x = x ** y | 
O operador de atribuição de adição ( +=) adiciona um valor a uma variável.
Atribuição:
    let x = 10;
    x += 5;
    
  
Os operadores de atribuição são totalmente descritos no capítulo Atribuição de JS .
Operadores de string JavaScript
O +operador também pode ser usado para adicionar (concatenar) strings.
Exemplo:
    let text1 = "John";
    let text2 = "Doe";
    let text3 = text1 + " " + text2;
    
  O resultado será:
    John Doe
    
  O +=operador de atribuição também pode ser usado para adicionar (concatenar) strings:
Exemplo:
    let text1 = "What a very ";
    text1 += "nice day";
    
  O resultado de text1 será:
    What a very nice day
    
  
Quando usado em strings, o operador + é chamado de operador de concatenação.
Adicionando Strings e Números
Adicionar dois números retornará a soma, mas adicionar um número e uma string retornará uma string:
Exemplo:
    let x = 5 + 5;
    let y = "5" + 5;
    let z = "Hello" + 5;
    
  O resultado de x , y e z será:
    10
    55
    Hello5
    
  
Se você adicionar um número e uma string, o resultado será uma string!
| Operator | Description | 
|---|---|
| == | equal to | 
| === | equal value and equal type | 
| != | not equal | 
| !== | not equal value or not equal type | 
| > | greater than | 
| < | less than | 
| >= | greater than or equal to | 
| <= | less than or equal to | 
| ? | ternary operator | 
Os operadores de comparação são totalmente descritos no capítulo Comparações JS.
Operadores lógicos de JavaScript
| Operator | Description | 
|---|---|
| && | logical and | 
| || | logical or | 
| ! | logical not | 
Os operadores lógicos são totalmente descritos no capítulo Comparações JS .
| Operador | Descrição | 
|---|---|
| typeof | Retorna o tipo de uma variável | 
| instanceof | Retorna verdadeiro se um objeto é uma instância de um tipo de objeto | 
Os operadores de tipo são totalmente descritos no capítulo Conversão de tipo JS.
Operadores JavaScript bit a bit
Os operadores de bits funcionam com números de 32 bits.
Qualquer operando numérico na operação é convertido em um número de 32 bits. O resultado é convertido de volta para um número JavaScript.
| Operator | Description | Example | Same as | Result | Decimal | 
|---|---|---|---|---|---|
| & | E | 5 & 1 | 0101 & 0001 | 0001 | 1 | 
| | | OU | 5 | 1 | 0101 | 0001 | 0101 | 5 | 
| ~ | NÃO | ~ 5 | ~0101 | 1010 | 10 | 
| ^ | XOR | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 | 
| << | Zero preenchimento deslocamento para a esquerda | 5 << 1 | 0101 << 1 | 1010 | 10 | 
| >> | Turno à direita assinado | 5 >> 1 | 0101 >> 1 | 0010 | 2 | 
| >>> | Zero preenchimento deslocamento para a direita | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 | 
Os exemplos acima usam exemplos sem sinal de 4 bits. Mas o JavaScript usa números assinados de 32 bits.
Por causa disso, em JavaScript, ~ 5 não retornará 10. Ele retornará -6.
~ 00000000000000000000000000000101 retornará 1111111111111111111111111111111010
Operadores bit a bit são totalmente descritos no capítulo JS Bitwise .
Fonte: w3schools