Learning JavaScript und stellte fest, dass der Ausdruck weiter unten, um es zu true ausgewertet, wenn angesichts dieser: transitive([1], 1, {toString:_=>'1'});
JavaScript transitiv Gleichheit
Ich verstehe nicht, warum.
Es macht Sinn, dass y und z gleich sind, aber wie können x und y gleich sein, wenn x und z nicht gleich sind?
function transitive(x,y,z) {
return x && x == y && y == z && x != z;
}
Verwenden Sie den strikten Gleichheitsoperator '===', der sowohl den Typ als auch den Wert überprüft, nicht nur den Wert. –
Ich machte ein [kleines Werkzeug] (https://nem035.github.io/js-equality-algorithms/), es könnte helfen. Das Tool zeigt Ihnen, wie die Engine '==' und '===' auswertet (einschließlich wie sie den Zwang ausführt), so dass Sie genau sehen können, was vor sich geht. – nem035
@ nem035 tolles Werkzeug. wirklich hilfreich, um zu verstehen, was in einer Gleichheitsprüfung passiert. – jcjunction