js null和undefined区别
时间: 2024-10-02 19:01:56 浏览: 38
optionaljs:不再有嵌套的 if 来防范 nullundefined
在 JavaScript 中,`null` 和 `undefined` 都表示某种缺失或空值,但它们有着不同的含义和用法:
1. **null**:表示明确的“无”或者“空”,通常是一个变量已经被赋予过值,但是后来被赋值为了 `null`。这意味着变量有一个确定的空值,可以作为函数返回值表明没有找到数据,或者是预期的对象不存在等情况。
示例:
```javascript
let myVar = null; // 明确表示myVar现在是没有值的
```
2. **undefined**:表示未初始化或声明的变量、函数调用未定义的属性或参数,以及尝试访问不存在的对象属性。当变量还没有被赋值时,其值就是 `undefined`。这是JavaScript引擎默认给未声明或访问到的变量的初始状态。
示例:
```javascript
let anotherVar; // this var is undefined until it's assigned a value
console.log(anotherVar); // 输出 undefined
function getProp(obj, prop) {
if (!obj || !obj[prop]) return undefined;
}
```
阅读全文