Operador == e === em JavaScript
08/01/2016
0
Estou utilizando o JSLint para checar meu código em JavaScript e ele está retornando inúmeras sugestões para trocar == (dois sinais de igual) por === (três sinais de igual), sempre que faço coisas como comparar idSili_UNVEHtype.value.length == 0 dentro de um if.
Existe algum ganho de desempenho ou vantagem ao substituir == por ===?
Obrigado.
Jorge Filho
Post mais votado
08/01/2016
[code]
if (true == 'true') // aqui vai dar true
if (true == '1') // aqui vai dar true
if (true == true) // aqui vai dar true
if (true === 'true') // aqui vai dar false
if (true === '1') // aqui vai dar false
if (true === true) // aqui vai dar true
[code]
O operador === ele compara o valor e o tipo, então só vai ser true se for exatamente igual (valor e tipo)
Edson Venancio
Mais Posts
08/01/2016
Jothaz
Ele é usado no AngularJS, por exemplo.
08/01/2016
Nilton Braz
Pois bem, o == irá comparar a igualdade após fazer as conversões caso necessárias.
Já o === não faz a conversão, por isso, se dois valores não são do mesmo tipo === simplesmente retornará falso.
Neste caso, onde === será mais rápido e pode retornar um resultado diferente do ==.
RESPONDENDO A SUA PERGUNTA:
Deste modo, em todos os outros casos o desempenho será o mesmo.
08/01/2016
Jorge Filho
Clique aqui para fazer login e interagir na Comunidade :)