Care este diferența dintre ==
și ===
JavaScript? Am văzut, de asemenea,! =
și !==
operatori. Există mai multe astfel de operatori?
Arunca o privire aici: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
Cele 3 semne egale înseamnă "egalitate fără tip de coerciție". Folosind triplu egal, valorile trebuie să fie egală în tip la fel de bine.
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
= = = "și"! = =
sunt strict operatori de comparație:
JavaScript are atât de stricte și tip de conversie comparația de egalitate. Pentru "strict" egalitatea obiectele fiind comparativ trebuie să aibă același tip și:
- Două șiruri sunt strict egale când au aceeași secvență de caractere, de aceeași lungime și același caractere în posturile corespunzătoare.
- Două numere sunt strict egale atunci când acestea sunt numeric egale (au același număr valoare). "NaN" nu este egal cu orice, inclusiv "NaN". Pozitive și negative sunt egale cu zero unul de altul.
- Doi operanzi Booleeni sunt strict egale dacă ambele sunt adevărate sau ambele sunt false.
- Două obiecte sunt strict egale dacă ele se referă la același "Obiect".
Null
șiNedefinit
tipuri==
(dar nu===
). [I. e. (Nul==Undefined
) esteadevărat
dar (Nul===Undefined
) este "false"]