null是一个表示"无"的对象,转为数值时为0;
undefined是一个表示"无"的原始值,转为数值时为NaN。
Number(undefined)// NaN 5+ undefined// NaN Number(null)//0
关于NaN
引用自为什么 NaN 不等于自身?
如果非要说NaN是一个值得话,那么 NaN 就是除过数字的任意值,但绝不是确切的某一个值! 如果你还不理解,我们还可以用正则表达式来描述NaN值: [^\d] 所以 NaN != NaN , 因为它是一个范围,而不能代表一个确定的值
关于非严格相等
[非严格相等涉及格式转换]
(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Equality_comparisons_and_sameness#非严格相等)