2009-06-22 17 views

Odpowiedz

54

'===' oznacza równość bez typu wygaszania. Innymi słowy, jeśli używasz potrójnej równości, wartości muszą być równe w typie.

np.

0==false // true 
0===false // false, because they are of a different type 
1=="1"  // true, auto type coersion 
1==="1" // false, because they are of a different type 

Źródło: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

+0

jego "typ przymusu" dla tych, którzy są mylące o przymusie. –

7

Operator === oznacza "jest dokładnie równy", dopasowując zarówno wartość, jak i typ danych.

Operator == oznacza "jest równy", dopasowując tylko wartość.

2

To testuje dokładnie równość obu wartości i rodzaju.

given the assignment 
x = 7 

x===7 is true 
x==="7" is false 
13

zgrane z mojego bloga: keithdonegan.com

Equality Operator (==)

operator równości (==) sprawdza, czy dwa argumenty są takie same i zwraca true, jeśli są takie same i fałszywe, jeśli są różne.

Tożsamość Operator (===)

tożsamości operator sprawdza, czy dwa operandy są „identyczne”.

Te zasady określają, czy dwie wartości są identyczne:

  • Muszą być tego samego typu.
  • Jeśli wartości liczbowe mają tę samą wartość, są identyczne, chyba że jedno lub oba mają wartość NaN.
  • Jeśli wartości łańcuchowe mają tę samą wartość, są identyczne, chyba że łańcuchy różnią się długością lub zawartością.
  • Jeśli obie wartości odnoszą się do tego samego obiektu, tablicy lub funkcji, są identyczne.
  • Jeśli obie wartości są zerowe lub niezdefiniowane, są identyczne.
Powiązane problemy