本节书摘来自异步社区《趣学JavaScript——教孩子学编程》一书中的第2章,第2.5节, 作者: 【美】Nick Morgan(摩根)译者: 李强,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.5 undefined和null

最后,还有不属于任何特殊情况的两个值。它们是undefined和null。用它们来表示“没有”,但是,它们之间略有不同。

JavaScript使用undefined表示没有值。例如,当创建了一个新的变量,如果没有使用=操作符为它赋值,那么它的值就是undefined:
screenshot

当想要刻意表达“这是空的”时,通常使用null。
screenshot

目前,我们不会经常使用undefined或null。如果创建了一个新的变量,并且没有为它赋值,就会看到undefined,因为undefined就是变量没有值时JavaScript总会返回的内容。很少会把什么东西设置为undefined;如果你想要把一个变量设置为“没有”,应该使用null。

只有当你确实想要表示这里没有什么内容时,才会使用null ,这一用法偶尔也是很有帮助的。例如,假设你使用一个变量来记录喜欢的蔬菜。如果你讨厌所有的蔬菜,没有一样蔬菜是你喜欢的,那么你可能会把这个表示喜欢的蔬菜的变量设置为null。

把这个变量设置为null,会很明确地让读取代码的人知道你没有喜欢的蔬菜。然而,如果该变量是undefined,别人可能只是认为你还没有来得及为它设置一个值。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐