2017-06-14 37 views
0

我想知道打字稿中的null和undefined之间有什么区别。我知道在JavaScript中可以使用它们来检查一个变量没有价值。但是在打字稿中,我想知道确切的区别以及何时使用它们中的每一个更好。 谢谢。Typescript - null和undefined之间的区别是什么?

+1

的差别是一样的JavaScript:https://stackoverflow.com/q/5076944/6680611 – cartant

回答

6

This post解释非常好的差异。它们在Typescript和JavaScript中一样。

至于你应该使用什么:打字稿编码风格指南itselft规定,你应该总是使用不确定的,而不是空: Typescript Styleguide

+3

你有没有任何理由说明为什么'undefined'比'null'优先?这些指导方针不幸解释。 –

+0

我可以想象这是因为检查(例如在if语句中)或者只是为了保持一致。 – Wernerson

+0

@AlexanderAbakumov [这里是](https://basarat.gitbooks.io/typescript/docs/tips/null.html)的解释。 – pushkin

0

值'未定义'表示变量已被声明,但尚未分配任何值。所以,变量的值是'undefined'。

另一方面,'空'指的是一个不存在的对象,它基本上意味着'空'或'没有'。

您可以手动将值'undefined'赋值给一个变量,但不建议这样做。所以,'null'被分配给一个变量来指定该变量不包含任何值或为空。但'未定义'用于检查变量是否在声明后被分配了任何值。

相关问题