Ich wollte nur die richtige Erklärung der ErgebnisseVerwirrung über Gleichheit
// All of these evaluate to 'true'!
console.log(false == '0');
console.log(null == undefined);
console.log(" \t\r\n" == 0);
console.log('' == 0);
Ich wollte nur die richtige Erklärung der ErgebnisseVerwirrung über Gleichheit
// All of these evaluate to 'true'!
console.log(false == '0');
console.log(null == undefined);
console.log(" \t\r\n" == 0);
console.log('' == 0);
wissen Da Sie == verwenden, ist es nicht überprüft Art, nur die value.Internally, Alle diese Werte sind eine Art falscher Werte. Daher ist es wahr.
jedoch mit === überprüfen zu und Ergebnis gibt falsch drucken statt wahr in der Konsole
diese Art Zwang genannt wird.
Wenn Sie double equals (==
) verwenden, versucht der Parser beide Operanden zu erzwingen, um Gleichheit zu erreichen.
Die meisten Quellen schlagen vor, triple equals (===
) zu verwenden, da stattdessen keine Typenzwang angewendet wird. Wenn die Werte unterschiedliche Typen sind, bedeutet das, dass sie nicht gleich sind.
zurück zu Ihrer Frage:
null
, empty string
und 0
sind alle Falsey Werte, die alle Mittel auf false dazu gezwungen werden. damit wird die Gleichheitsprüfung durchlaufen.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators?v=control Er beantwortet praktisch Ihre Frage – Mistalis