gpt4 book ai didi

javascript - 什么时候用 null 或根本不初始化 JavaScript 中的变量?

转载 作者:IT王子 更新时间:2023-10-29 03:13:42 25 4
gpt4 key购买 nike

我见过不同的代码示例,其中变量已声明并设置为未定义和 null。如:

var a; // undefined - unintentional value, object of type 'undefined'
var b = null; // null - deliberate non-value, object of type 'object'

如果跟在这些声明之后的代码为 a 或 b 赋值,那么使用一种类型的声明而不是另一种类型的原因是什么?

最佳答案

第一个示例没有为变量分配任何内容,因此它隐式引用了 undefined 值(有关详细信息,请参阅 10.5 in the spec)。它通常在声明变量供以后使用时使用。没有必要在必要之前明确地为它们分配任何东西。

第二个例子被显式赋值为null(实际上是null类型,但由于JavaScript规范的一个怪癖,声称具有“object”类型) .它通常用于清除已存储在现有变量中的值。在清除值时使用 null 可以被视为更健壮,因为可以覆盖 undefined,并且在这种情况下赋值 undefined 会导致意外行为。

顺便说一句,null 的怪癖是使用更健壮的类型检查形式的一个很好的理由:

Object.prototype.toString.call(null); // Returns "[object Null]"

关于javascript - 什么时候用 null 或根本不初始化 JavaScript 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13142912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com