请看以下截图:
在这种情况下,已经声明了temp
,但是可能从未分配过。 if-check会阻止使用它(如果尚未分配),那么可能不需要此编译警告?
谢谢
我理解您的意思,但是大多数时候“ if”语句用于检查变量的值,而不是查看变量是否已分配。 此警告很有用,因为(至少以我的经验和我所见的大多数专业代码为准)这种情况确实并非程序员的意图。
附带说明一下,由于“ temp”仅在if语句内部定义,因此您可以合并两个条件(除非path.normalize()可以返回假值,在这种情况下,您可以在其temp中给temp分配假值)声明或在else分支中)。
let temp: string | undefined
对于严格严格检查世界中的代码而言似乎更准确,并且还可以修复错误。
可以复制并粘贴到文本缓冲区而不是来自IDE的屏幕截图的代码片段通常会更有帮助。
最有用的评论
let temp: string | undefined
对于严格严格检查世界中的代码而言似乎更准确,并且还可以修复错误。