Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Expressões e operadores
  2. Operadores de atribuição
  3. Operadores de aritméticos
  4. Operadores de lógicos
  5. Oeradores de relacionais
  6. Operadores de bit-a-bit
  7. Outros operadores
  8. Computar expressões com eval
  9. Precedência de operadores
  10. adicionar onde em sintaxes

Para declararmos expressões em qualquer linguagem de programação precisamos utilizar operadores. Os conceitos de expressões e operadores já foram vistos em Portugol: Expressões e Operadores e Tutorial C: Operadores. Em caso de dúvida, é recomendado a leitura.

Para criação de expressões em JS, precisamos utilizar como base para criação os chamados operadores. A seguir vamos aprender os operadores de atribuição, aritmético, lógico, comparação e bitwise/bit-a-bit fornecidos pela linguagem JS.

Para a atribuição de valores ou expressões à variáveis, JS fornece a lista de operadores abaixo:

Tab. 1: Operadores de Atribuição
Operador Descrição Exemplo
= Atribuição a = b
+= Atribuição acumulativa de adição a-b
-= Atribuição acumulativa de subtração a/=b
*= Atribuição acumulativa de multiplicação a*=b
%= Atribuição acumulativa de Módulo a%=b
/= Acumulação de divisão a/=b
Sintaxe
variavel1 = valor | expressao

variavel1 operador= valor
Exemplo 1
let a = 1
let b = 2
a+=b;
console.log(a);
a-=b;
console.log(a);
a*=b;
console.log(a);
a/=b;
console.log(a);

Saída
3
1
2
1.0

Para realizarmos cálculos matemáticos ou criarmos expressões matemáticas a linguagem JS fornece os operadores aritméticos abaixo:

Tab. 2: Operadores de Aritméticos
Operador Descrição Exemplo
+ Adição a+b
- Subtração a-b
* Multiplicação a*b
/ Divisão a/b
% Módulo a%b
** Pontência a**b
++ Incremento ++a , a++
-- Decremento --a, a--

Os operadores -- e ++ utilizados antes ou depois da variável são chamados pré incrementado e pós incrementado. O funcionamento desses operadores foi discutido Portugol: Operadores Aritméticos.

Sintaxe
valor1 | expressao operador valor2 | expressao2
Exemplo 2
let a=10;
let b=5;
let x = a + b;
console.log(x);
x=a-b;
console.log(x);
x=a*b;
console.log(x);
x=a/b;
console.log(x);
x=a % b;
console.log(x);
x=a**b;
console.log(x);
Saída
15
5
50
2
0
100000

Para declararmos expressões de comparação, JS fornece os operadores relacionais abaixo que retornam true, em caso verdadeiro ou false, caso contrário. O funcionamento desses operadores foi discutido Portugol: Operadores Aritméticos.

Tab. 3: Operadores Relacionais
Operador Descrição Exemplo
== Igual a == b
>= Maior ou igual a >= b
<= Menor ou igual a <= b
!= Diferente a != b
> Maior a>b
=== Igual e mesmo tipo a === b
Sintaxe
valor1 | expressao operador valor2 | expressao2
Exemplo 3
let a=10
let b=5
let x = a==b;
console.log(x);
x= a>b;
console.log(x);
x= a<b;
console.log(x);
x= a>=b;
console.log(x);
x= a<=b;
console.log(x);
x= a!=b;
console.log(x);

Saída
False
True
False
True
False
True

Para criarmos expressões lógicas, a linguagem JS fornece os operadores relacionais abaixo que retorna true, em caso verdadeiro ou false, caso contrário. O funcionamento desses operadores foi discutido Portugol: Operadores Aritméticos.

Tab. 4: Operadores lógicos
Operador Significado Exemplo
&& E lógico a && b
! Não lógico !a
|| OR lógico a || b
Sintaxe
valor1 | expressao operador valor2 | expressao2
Exemplo 4
let a=True;
let b=False;

let x = a && b;
console.log(x);
x= a || b;
console.log(x);
x = !a;
console.log(x);
Saída
False
True
False

Os seguintes operadores bit-a-bit estão disponíveis na linguagem JS. Esse operadores aplicam operações em cada bit de um valor. O funcionamento básico pode ser visto em Tutorial C: Operadores bit-a-bit sendo a leitura recomendada.

Tab. 5: Operadores bitwise
Operador Descrição Exemplo
& E bit-a-bit a & b
| OR bit-a-bit a | b
~ Não bit-a-bit ~a
>> Desloca N bits à direita(Sinalizado) a>>b
<< Desloca N bits à esquerda a<<b
>>> Desloca N bits à direita(não-sinalizado) a >>> b
Sintaxe
 valor1 | expressao1 operador valor1 | expressao2
Exemplo 5
let a=1;
let b=2;

let x = a&b;
console.log(x);
x= a|b;
console.log(x);
x = ~b;
console.log(x);
console.log(4>>1);
console.log(2<<1);
Saída
0
3
-3
2
4

Abaixo a tabela contém outros operadores JS que não se encaixam nos grupos estudados acima. Mais operadores serão adicionadas em futuras atualizações.

Tab. 6: Outros Operadores
Operador Descrição Exemplo
typeof Retorna tipo de variável typedef(a)
instanceof Retorna nome da classe instanceof(a)
? if ternário a > b ? c : d;
yield - yield*b
... - ...a
?? Nulidade a ?? b
: - a:5
() Parâmetros/Argumentos (a,b)
[] Indexador [a]
eval Computar expressão eval("1 + 2*c")
Exemplo 6
console.log(typeof(true));
let a = 1 > 0 ? 1 : -1;
console.log(a);
let b = new Number(100)
console.log(b instanceof Number);
Saída
boolean
1
true

A linguagem JS fornece uma forma de executarmos expressões contidas ou declaradas como string. Essa forma é utilizando a função eval como na sintaxe abaixo:

Sintaxe
eval("expressao");
Exemplo 5
let expressao = "2*2 + 6";
console.log(eval(expressao));
Saída
10

A função eval também é capaz de executar expressões mais complexas envolvendo arrays, objetos e outros.

Exemplo 6
let a = 1;
let b = 2;
let c = [2,4,6];

let obj = {
  metodo: function(){
    return 2;
  }
}

let expressao = "a*b + (6/c[0]) - obj.metodo() + Math.pow(2,2)";
console.log(eval(expressao));
Saída
7
  1. 14/08/2025 - revisão 3 - Ajustes: pontuais, target de links internos, sintaxes e 'Objetivos'
  2. 26/09/2024 - revisão 2 - Adição: Ex.6; Correção: links portugol; Ajustes gramaticais pontuais, outros ajustes
  3. 05/10/2023 - revisão 1 - Correção em layout, navegação e erros gramaticais
  4. 31/05/2023 - versão inicial