我想知道 TypeScript 中 null 和 undefined 的区别。我知道在 JavaScript 中可以使用它们来检查变量是否有值。但是在 TypeScript 中,我想确切地知道它们的区别,并且何时最好使用它们中的每一个。
谢谢。
这篇文章很好地解释了它们的区别。在 TypeScript 中和在 JavaScript 中是一样的。
至于你应该使用什么:你可以自己定义。你可以使用任意一个,只需注意它们之间的区别,并保持一致可能是有意义的。
TypeScript 源代码的编码风格指南(不是官方的“如何使用 TypeScript”指南)指出,你应该始终使用 undefined
而不是 null
:Typescript 项目风格指南。
数值 'undefined' 表示一个变量已经被声明,但是没有被赋任何值。因此,这个变量的值为 'undefined'。
另一方面,'null' 指的是一个不存在的对象,基本上意味着 '空' 或者 '无'。
你可以手动将数值 'undefined' 赋给一个变量,但这不被推荐。所以,'null' 被赋给一个变量来指定该变量不包含任何值或为空。但是 'undefined' 被用来检查变量是否在声明后被赋值。
null
是没有问题的。此外,在 JS 中选择一个而不是另一个的任何风格原因都同样有效。 - John Montgomery