DEV Community

Cover image for Diferença entre '=', '==' e '===' em JavaScript: Igualdade, Atribuição e Igualdade Estrita
jojosuelobo
jojosuelobo

Posted on • Updated on

Diferença entre '=', '==' e '===' em JavaScript: Igualdade, Atribuição e Igualdade Estrita

Em JavaScript, há diferenças sutis entre os operadores "=" (atribuição), "==" (igualdade) e "===" (igualdade estrita).

1. Operador "=" (Atribuição):
O operador "=" é usado para atribuir um valor a uma variável. Por exemplo: Nesse caso, o valor 5 é atribuído à variável "x".
let x = 5;

2. Operador "==" (Igualdade):
O operador "==" verifica se dois valores são iguais, mesmo que sejam de tipos diferentes. Ele realiza a conversão de tipos implícita, se necessário. Por exemplo:
console.log(5 == "5");
true

Nesse caso, embora o primeiro valor seja um número e o segundo seja uma string, o operador "==" realiza uma conversão implícita do valor string para número e verifica a igualdade.

3. Operador "===" (Igualdade estrita):
O operador "===" verifica se dois valores são iguais e também verifica se os tipos são os mesmos. Ele não realiza conversões de tipos. Por exemplo:
console.log(5 === "5");
false

Nesse caso, como o operador "===" não realiza conversão de tipos, ele retorna false porque o valor e o tipo dos operandos são diferentes.

Considerações finais

Em geral, é recomendado usar o operador "===" para verificar igualdade em JavaScript, pois ele evita resultados inesperados devido a conversões implícitas de tipos. O operador "==" pode ser útil em situações específicas quando você deseja realizar comparações com conversões de tipos implícitas.

Top comments (2)

Collapse
 
bello profile image
Bello Osagie

Nice article. I mostly see myself using strict equality even when I know I am comparing the same data type. Looking forward to your next article.

Collapse
 
jojosuelobo profile image
jojosuelobo

Thank youu <3