Typescript: Avertissement de compilation inutile: TS2454

Créé le 24 sept. 2017  ·  3Commentaires  ·  Source: microsoft/TypeScript

Veuillez voir cette capture d'écran:

screenshot 2017-09-23 15 41 31

Dans ce cas, temp est déjà déclaré, mais peut ne jamais avoir été attribué. La vérification if empêche de l'utiliser, si elle n'a pas été attribuée, donc cet avertissement de compilation peut être inutile?

Merci

Question

Commentaire le plus utile

let temp: string | undefined semble plus précis pour ce code dans le monde strict-null-checks, et corrige également l'erreur.

Tous les 3 commentaires

Je comprends votre point de vue, mais la plupart du temps, les instructions «si» sont utilisées pour vérifier la valeur d'une variable, pas pour voir si elle a été attribuée. Cet avertissement est utile car le plus souvent (du moins d'après mon expérience et dans la plupart des codes professionnels que j'ai vus), cette situation n'est en effet pas l'intention du programmeur.

En remarque, puisque "temp" n'est défini que dans cette instruction if, vous pouvez fusionner vos deux conditions (à moins que path.normalize () puisse renvoyer une valeur falsifiée, auquel cas vous pouvez simplement assigner une valeur falsifiée à temp dans son déclaration ou dans la branche else de toute façon).

let temp: string | undefined semble plus précis pour ce code dans le monde strict-null-checks, et corrige également l'erreur.

Un extrait de code qui pourrait être copié et collé dans une mémoire tampon de texte au lieu d'une capture d'écran d'un IDE est généralement beaucoup plus utile.

Cette page vous a été utile?
0 / 5 - 0 notes