JavaScript - undefined与null的区分及最佳实践
2021-06-27 14:05
标签:属性 初始化 enc script obj 函数 error: bool rip ECMAScript中包含六种数据类型: 其中,Undefined类型和Null类型是唯二的仅有一个值的数据类型 通过 与ECMAScript中定义的六种数据类型比较,可发现如下差异点: 返回值中出现了 Undefined类型中的唯一值 注意:区分未初始化的变量与尚未定义的变量: 但是,使用typeof操作符时,会有如下返回: 综上,最佳实践: 每次定义变量时都进行显示初始化,那么当 因为,实际上 上面说过, 当一个意在保存对象的变量尚未实际真正保存对象时(刚声明且暂未赋值),都应当明确地让该变量保存 JavaScript - undefined与null的区分及最佳实践 标签:属性 初始化 enc script obj 函数 error: bool rip 原文地址:https://www.cnblogs.com/JustBeZero/p/9651738.html
主要参考
ECMAScript中的六种数据类型
运算符typeof
typeof
运算符可能返回如下六种可能的字符串:
"undefined"
"boolean"
"string"
"number"
"object"
"function"
typeof null
并不会返回"null"
。这是因为,特殊值null
被认为是一个空的对象引用,因此会返回"object"
;"function"
,而函数并不是ECMAScript中定义的一种数据类型。实质上,在ECMAScript中函数也是对象,但函数确实有其特殊属性,因此区分函数和其他对象是有必要的。Undefined类型定义及其最佳实践
undefined
,表示未初始化的变量;var message;
// var age;
alert(message); // "undefined"
alert(age); // ReferenceError: age is not defined
var message;
// var age;
alert(typeof message); // "undefined"
alert(typeof age); // "undefined"
typeof
操作符返回"undefined"
时,只能说明该变量尚未被声明。Null类型定义及其最佳实践
null
与undefined
的关系:alert(null == undefined); // true
undefined
是派生自null
,但之所以区分是强调其各自的特殊指向。null
的特殊意义在于表示空的对象引用(空对象指针),因此建议如下最佳实践:null
值:
null
与undefined
来区分暂未赋值而实际意义不同的对象;null
便可判定相应变量是否已保存了一个对象的引用。
文章标题:JavaScript - undefined与null的区分及最佳实践
文章链接:http://soscw.com/index.php/essay/98452.html