In JavaScript is! = Gelijk! == [dubbele]

Mogelijke duplicaten:
Javascript === vs ==: Maakt het uit welke “gelijk” operator ik gebruiken?
Javascript operator! ==

Kijk naar deze commit

Is !=hetzelfde als !==in JavaScript?


Antwoord 1, Autoriteit 100%

Ze zijn subtiel niet hetzelfde.

!=controleert de waarde
!==controleert de waarde en het type

'1' != 1   // false (these two are the same)
'1' !== 1 // true (these two are **not** the same).

In het vorige voorbeeld. De eerste helft van de expressies een tekenreeks, de tweede helft een geheel getal.


Antwoord 2, Autoriteit 12%

Van

http://en.wikipedia.org/wiki/JavaScript_syntax#Operators

! == niet identiek

! = Niet gelijk aan

AND “identieke wijze gelijk en hetzelfde type.”

Van

http://docstore.mik.ua/orelly/webprog/jscript/ ch05_04.htm

“In JavaScript, getallen, strings, en Booleaanse waarden worden via hun waarde vergeleken.

Anderzijds, objecten, arrays en functies worden via verwijzing vergeleken. “

Dus in het kort zijn ze hetzelfde? Nee, want er is een extra proef met! == (over! =) Voor soort gelijkheid als evenbeeld.


Antwoord 3, autoriteit 8%

Nee, het is niet hetzelfde. Zie bijvoorbeeld hier.

4 !== '4' returns true   (and 4 === '4' returns false)
4 != '4'  returns false  (and 4 == '4'  returns true)

Antwoord 4, autoriteit 5%

Het grote verschil is dat != type dwang uitvoert. Dat wil zeggen dat de ene waarde effectief naar de andere wordt gecast voordat de gelijkheid wordt gecontroleerd. Dit is waarom, zoals in het antwoord van Amadiere:

'1' != 1

evalueert naar onwaar. Hetzelfde geldt voor == v. ===. Vermijd in het algemeen == en != tenzij u specifiek wilt dat dwang wordt uitgevoerd. Gebruik === en !== en controleer voor precies het resultaat dat u zoekt.


Antwoord 5

Controleert niet alleen de waarde, maar ook het soort dingen dat wordt vergeleken. Dit is ook hetzelfde in php en ook in sommige andere talen.

Other episodes