Różnica między = = i = = = w JavaScript [duplikat]

Możliwy duplikat:
Javascript = = = vs==: czy ma znaczenie, którego operatora "równego" używam?

Jaka jest różnica między == a === w JavaScript? Widziałem również operatory != i !==. Jest więcej takich operatorów?

Author: Community, 2009-02-07

2 answers

=== i !== są operatorami ścisłego porównania:

JavaScript ma zarówno ścisłe i porównanie równości konwersji typu. Dla strict równości obiektów będących porównywane muszą mieć ten sam typ i:

  • dwa ciągi są ściśle równe, gdy mają ten sam ciąg znaków, tej samej długości i tej samej znaki w odpowiednich pozycjach.
  • dwie liczby są ściśle równe, gdy są równe numerycznie (mają ten sam numer wartość). NaN nie jest równe wszystkiemu, w tym NaN. Zera dodatnie i ujemne są równe do siebie nawzajem.
  • dwa operandy logiczne są równe, jeśli oba są prawdziwe lub oba są fałszywe.
  • dwa obiekty są ściśle równe, jeśli odnoszą się do tego samego Object.
  • Typy Null i Undefined to == (ale nie ===). [Tj. (Null==Undefined) jest true Ale (Null===Undefined) jest false]

Operatory porównawcze-MDC

 1096
Author: Jack Sleight,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-29 00:58:29

Spójrz tutaj: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

Trzy znaki równości oznaczają "równość bez przymusu typu". Używając równań potrójnych, wartości muszą być również równe w typie.

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
 1795
Author: sdfx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-03 11:05:11