JavaScript 空和未定义
示例
null和之间的区别undefined
null并undefined分享抽象平等==而不是严格平等===,
null == undefined // 真正null === undefined // 假
它们代表略有不同的事物:
undefined表示缺少值,例如在创建标识符/对象属性之前,或者在创建标识符/函数参数与首次设置标识符(如果有)之间的时间段内。
null表示故意缺少已经创建的标识符或属性的值。
它们是不同类型的语法:
undefined是全局对象的属性,通常在全局范围内不可变。这意味着您可以在全局命名空间之外定义标识符的任何地方都可以undefined从该范围中隐藏(尽管仍然可以 undefined)
null是字面意思的单词,因此它的含义是永不改变的,试图这样做将会抛出Error。
null和之间的相似之处undefined
null而且undefined都是虚假的。
if (null) console.log("won't be logged");if (undefined) console.log("won't be logged");
无论是null或undefined等于false(见这个问题)。
false == undefined // 假false == null // 假
false === undefined // 假
false === null // 假
使用 undefined
如果当前范围不可信,请使用评估为undefined的值,例如void 0;。
如果undefined被另一个值遮蔽,则与遮蔽Array或一样坏Number。
避免将设置为undefined。如果要从Object删除属性栏,请改为。 foodelete foo.bar;
存在检测标识foo对undefined 可能抛出一个引用错误,使用typeof foo针对"undefined"代替。
以上是 JavaScript 空和未定义 的全部内容, 来源链接: utcz.com/z/315803.html