Operador == e === em JavaScript
Olá, pessoALL, beleza?
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.
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
Curtidas 0
Melhor post
Edson Venancio
08/01/2016
O operador == compara por "resultado" digamos assim, ou seja como JavaScript não é tipado ele converte o que você tá querendo comparar e verifica ou seja:
[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)
[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)
GOSTEI 1
Mais Respostas
Jothaz
08/01/2016
Só completando hoje temos o TypeScript que é basicamente o JavaScript fortemente tipado e que pretende substituir o JavaScript para desenvolvimento em larga escala.
Ele é usado no AngularJS, por exemplo.
Ele é usado no AngularJS, por exemplo.
GOSTEI 0
Nilton Braz
08/01/2016
Pra quem não sabe, o JSLint é um programa de análise estática usado no desenvolvimento de software para checar se o código-fonte de um programa escrito em JavaScript compila com as regras de codificação da linguagem.
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.
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.
GOSTEI 0
Jorge Filho
08/01/2016
Valeu galera, vocês responderam todas as minhas dúvidas!!
GOSTEI 0