关于运算符中null和undefined
最近复习了一下关于JS中运算符的东西,总结一下null和undefined的比较:
- null与undefind的比较
//关系运算符中null、undefined与0的结果
null >= 0 //true
undefined >= 0 //false
//相等运算符中null、undefined与0的结果
null == 0 //false
undefined == 0 //false
我们来整理一下:
Number(null); //0
null >= 0; // ture
Number(undefined); //NaN
undefined >= 0; //flase
null >= null; //Number(null) >= Number(null),0 >= 0,结果为ture
undefined >= undefined; //Number(undefined) >= Number(undefined),NaN >= NaN,结果为flase
null == undefined; // ture
null == null; // ture
undefined == undefined; // true
null == 0; //flase
undefined == 0; //flase
总结结果如下,也是以后需要注意的点:
在关系运算符中,null、undefined会被强制转换为Number类型再进行比较
在相等运算符中,null、undefiner则不会被强制转换为Number,处于原型状态,与自身对于或者与null、undefiner结果都为ture
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!