Ich habe tslint seit geraumer Zeit mit no-null-keyword
aktiviert. Vor kurzem habe ich auf Typescript 2.0 aktualisiert und aktiviert --strictNullChecking
. Betrachtet man jedoch die lib.d.ts
des Typoskripts, scheint es unmöglich, no-null-keyword
aktiviert zu halten (auf den ersten Blick), da das Ergebnis einiger Aufrufe null
sein kann. Zum Beispiel:tslint no-null-Schlüsselwort und Typoskript lib.d.ts mit strenger Null-Überprüfung
const result: RegExpExecArray | null = regex.exec(regexStr);
if (result === null) { // <-- tslint complains about this check
throw new Error("Foo location: result of regex is null.");
}
// or
// if (result !== null) {
// ...do something
// }
Die Frage ist, was ist die rechte Ding-to-do?
Deaktivieren no-null-keyword
für tslint?
Verwenden Sie einen Hack (?):
const result: RegExpExecArray = regex.exec(regexStr)!;
if (result == undefined) { // Will check if result is undefined or null
throw new Error("Foo location: result of regex is null.");
}
Oder etwas anderes?
Ja, das ist genau das, was ich je tat, da ich die Frage gestellt: ' "Triple-Gleichen": [true" allow-undefined-check "]' mit dem Code 'foo == undefined' oder' foo! = undefined' zusammen mit einem entsprechenden Kommentar, der erklärt, warum. – vladeck