null与undefined的区别
一般我们来解释null和undefined的区别时,会把null理解成空,而undefined理解成未定义,但是实际上这样理解并不是很清晰.
时间线追溯到1995年,第一代JS诞生时,像Java一样,只设置了一个null来作为表示无,根据C语言的传统,null的设计可以自动被转为0.
作者在后续的更新中,觉得光有一个null还不够用,JS最初的版本是没有错误处理机制的,发生数据类型不匹配的时候,往往会自动的转换类型,如果null自动的转为0,会让人不易找到错误.
所以后续又有了undefined的诞生.
两者本质的区别在于null时表示为无的一个对象,在转为数值的时候是0,undefined是表示为无的原始值,转换为数值是为NaN.

