Diferença entre == e === em JavaScript [duplicado]
-
22-08-2019 - |
Pergunta
Duplicate possíveis:
Javascript === vs ==: Será que isso importa que “igual” uso operador I?
O que é a diferença entre ==
e ===
em JavaScript? Também já vi operadores !=
e !==
. Há mais tais operadores?
Solução
===
e !==
são operadores de comparação estritas:
JavaScript tem tanto rigorosa e digite conversora de comparação de igualdade. Pela igualdade
strict
os objetos sendo comparação deve ter o mesmo tipo e:
- Duas cordas são rigorosamente iguais quando têm a mesma sequência de caracteres, mesmo comprimento, e mesmo caracteres em posições correspondentes.
- Dois números são estritamente iguais quando eles são numericamente iguais (tem o mesmo valor numérico).
NaN
não é igual a qualquer coisa, incluindoNaN
. Positivo e zeros negativos são iguais um ao outro.- operandos dois booleanos são estritamente iguais se ambas são verdadeiras ou ambas são falsas.
- Dois objetos são estritamente iguais se referem à mesma
Object
.Null
eUndefined
tipos são==
(mas não===
). [Isto é (Null==Undefined
) étrue
mas (Null===Undefined
) éfalse
]
Outras dicas
Dê uma olhada aqui: http: //longgoldenears.blogspot .com / 2007/09 / triple-iguala-in-javascript.html
A "igualdade sem coerção de tipo" 3 sinais iguais média. Usando os três iguais, os valores devem ser iguais em tipo também.
0 == false // true
0 === false // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow