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)
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.
Thank youu <3