Bitte sehen Sie diesen Screenshot:
In diesem Fall ist temp
bereits deklariert, wurde jedoch möglicherweise nie zugewiesen. Die if-Prüfung verhindert die Verwendung, wenn sie nicht zugewiesen wurde, sodass diese Kompilierungswarnung möglicherweise nicht erforderlich ist.
Vielen Dank
Ich verstehe Ihren Standpunkt, aber meistens werden "if" -Anweisungen verwendet, um den Wert einer Variablen zu überprüfen und nicht um festzustellen, ob sie zugewiesen wurde. Diese Warnung ist nützlich, da diese Situation meistens (zumindest nach meiner Erfahrung und im meisten professionellen Code, den ich gesehen habe) nicht die Absicht des Programmierers ist.
Als Randnotiz können Sie, da "temp" nur in dieser if-Anweisung definiert ist, Ihre beiden Bedingungen zusammenführen (es sei denn, path.normalize () kann einen falschen Wert zurückgeben. In diesem Fall können Sie temp in seiner Anweisung nur einen falschen Wert zuweisen Erklärung oder in der else-Filiale sowieso).
let temp: string | undefined
scheint für diesen Code in der Welt der strengen Nullprüfungen genauer zu sein und behebt auch den Fehler.
Ein Codeausschnitt, der anstelle eines Screenshots von einer IDE kopiert und in einen Textpuffer eingefügt werden kann, ist im Allgemeinen viel hilfreicher.
Hilfreichster Kommentar
let temp: string | undefined
scheint für diesen Code in der Welt der strengen Nullprüfungen genauer zu sein und behebt auch den Fehler.