Pergunta

Como o JavaScript se comportar para as comparações true == "true" e (0 == "0")?

Foi útil?

Solução

Tipo de coerção operadores conscientes (== e! =) Pode produzir alguns resultados estranhas:

'' == '0'          // false
0 == ''            // true
0 == '0'           // true

false == 'false'   // false
false == '0'       // true

false == undefined // false
false == null      // false
null == undefined  // true

' \t\r\n ' == 0    // true

Os === e! == operadores de igualdade rigorosas são sempre preferido .

Outras dicas

Ao usar == ou! = Se os tipos das duas expressões são diferentes, ele irá tentar convertê-los em seqüência, número ou booleano etc

No entanto, você pode usar a comparação de identidade === ou! == onde nenhuma conversão de tipo é feito, e os tipos deve ser o mesmo a ser considerado igual.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top