Objetivos
Expressões e operadores
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.
Operadores de atribuição
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
Operadores bit-a-bit/bitwise
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
Computando expressões com eval
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
Histórico de atualizações
- 14/08/2025 - revisão 3 - Ajustes: pontuais, target de links internos, sintaxes e 'Objetivos'
- 26/09/2024 - revisão 2 - Adição: Ex.6; Correção: links portugol; Ajustes gramaticais pontuais, outros ajustes
- 05/10/2023 - revisão 1 - Correção em layout, navegação e erros gramaticais
- 31/05/2023 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.