TSLint Doppel-vs triple Gleichheit
Ich weiß, dass eine einzelne Geschlechter Zeichen bedeutet Zuweisung, Doppel-bedeutet Gleichheit; und triple bedeutet, der Gleichheit und der gleichen geben.
Was ich nicht verstehe, warum das Typoskript linter würde mir wünschen, verwenden die triple Gleichheit Anzeichen in diesem Fall:
function gcf(a: number, b: number): number
{
return (b == 0) ? (a) : (gcf(b, a % b));
}
TsLint: == sollte ===
Ich weiß, die 0 ist eine Zahl und ich weiß auch, dass b eine Zahl ist (oder, was ich erhalten einen Kompilierungsfehler). Also, warum würde ich wollen, verwenden die triple Gleichheit Anzeichen in diesem Fall?
Es ist zwar nicht so wahrscheinlich, in Maschinenschrift, um ein Problem verursachen, es ist ein strenger Vergleich-ich bin nicht sicher, warum Sie würde nicht wollen, es zu benutzen? stackoverflow.com/a/359509/95190 Es ist generell eine gute Praxis ist, um es in JavaScript.
diese.password1 == diese.password2 wird immer fehlgeschlagen und es wird false zurückgegeben. Was ist der Grund dafür?
diese.password1 == diese.password2 wird immer fehlgeschlagen und es wird false zurückgegeben. Was ist der Grund dafür?
InformationsquelleAutor user886079 | 2014-03-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Typen können dich nicht retten von alle Fehler, die durch
==
. Zumalundefined
undnull
sind kompatibel mit alle Arten. z.B. das folgende ist eine falsche, wenn :Für mehr info auf warum diese gleich sind https://stackoverflow.com/a/359509/95190
Persönlich : ich habe diese Regel deaktiviert und hatte nie irgendwelche Probleme. Ich weiß nicht zu vergleichen mit
true/false/null/undefined
nurif
. Und Typoskript verhindert vergleichenstrings
undnumbers
so dass ist nicht ein Fehler, die ich benötigen, um mit.InformationsquelleAutor basarat
Mithilfe der triple-Gleichheits-operator spart Ihnen auch in den Fällen, wenn die resultierende Javascript aufgerufen werden kann, aus einer externen Datei (d.h. außerhalb des Typoskript-Umgebung). Reine JS-Dateien nicht verarbeitet tslint, und von 'erfordern' die dreifache Gleichheit, tslint macht der resultierende Javascript-Datei, die etwas mehr resiliant.
InformationsquelleAutor Darren Oster