Typescript: 不必要的编译警告:TS2454

创建于 2017-09-24  ·  3评论  ·  资料来源: microsoft/TypeScript

请看以下截图:

screenshot 2017-09-23 15 41 31

在这种情况下,已经声明了temp ,但是可能从未分配过。 if-check会阻止使用它(如果尚未分配),那么可能不需要此编译警告?

谢谢

Question

最有用的评论

let temp: string | undefined对于严格严格检查世界中的代码而言似乎更准确,并且还可以修复错误。

所有3条评论

我理解您的意思,但是大多数时候“ if”语句用于检查变量的值,而不是查看变量是否已分配。 此警告很有用,因为(至少以我的经验和我所见的大多数专业代码为准)这种情况确实并非程序员的意图。

附带说明一下,由于“ temp”仅在if语句内部定义,因此您可以合并两个条件(除非path.normalize()可以返回假值,在这种情况下,您可以在其temp中给temp分配假值)声明或在else分支中)。

let temp: string | undefined对于严格严格检查世界中的代码而言似乎更准确,并且还可以修复错误。

可以复制并粘贴到文本缓冲区而不是来自IDE的屏幕截图的代码片段通常会更有帮助。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

wmaurer picture wmaurer  ·  3评论

weswigham picture weswigham  ·  3评论

bgrieder picture bgrieder  ·  3评论

MartynasZilinskas picture MartynasZilinskas  ·  3评论

Roam-Cooper picture Roam-Cooper  ·  3评论