DEV Community

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

Posted on • Edited 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.

SurveyJS custom survey software

JavaScript UI Libraries for Surveys and Forms

SurveyJS lets you build a JSON-based form management system that integrates with any backend, giving you full control over your data and no user limits. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more.

Learn more

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

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More