JavaScript中null和undefined有什么区别以及何时使用它们?
大家好!我刚开始学习JavaScript,怎么也搞不懂null和undefined的区别。似乎两者都表示“什么都没有”,但为什么语言中会存在两个不同的值呢?
看代码示例:
```javascript
let a;
console.log(a); // undefined
let b = null;
console.log(b); // null
```
在第一种情况下,变量已声明但未初始化——得到undefined。在第二种情况下,我自己赋值为null。但根本区别是什么?什么时候该用null,什么时候该用undefined?
我还注意到,通过==比较时它们相等,但通过===比较时则不相等:
```javascript
console.log(null == undefined); // true
console.log(null === undefined); // false
```
这让我彻底困惑了。请像对新手一样解释一下:什么是什么,以及如何在代码中避免错误?提前谢谢!
<<>>
主要区别:undefined — “还没有值”,null — “值被有意设为空”
在JavaScript中,undefined 和 <