update: Null 类型

This commit is contained in:
qianguyihao 2024-02-26 16:08:30 +08:00
parent ba7c72aafe
commit 760169bec0

View File

@ -8,10 +8,12 @@ title: 08-基本数据类型Null 和 Undefined
## Undefined未定义类型 ## Undefined未定义类型
Undefined类型的值只有一个就是 undefind。比如 `var a = undefined` Undefined 类型的值只有一个,就是 undefind。比如 `var a = undefined`
使用 typeof 检查一个 undefined 值时,会返回 undefined。 使用 typeof 检查一个 undefined 值时,会返回 undefined。
undefined 的使用有下面这几种场景。
### case1变量已声明未赋值时 ### case1变量已声明未赋值时
**声明**了一个变量,但没有**赋值**,此时它的值就是 `undefined`。举例: **声明**了一个变量,但没有**赋值**,此时它的值就是 `undefined`。举例:
@ -33,11 +35,11 @@ var name = undefined;
注意事项: 注意事项:
1、不要显式地将变量 赋值为 undefined不太规范。也就是说上面的写法2 是冗余的,增加了不必要的代码量,这种写法不太规范。 1、不要显式地将变量赋值为 undefined不太规范。也就是说上面的写法 2 是冗余的,增加了不必要的代码量,这种写法不太规范。
2、变量在定义时尽量做一下初始化赋值操作而不是只声明一个变量。上面的写法1就是属于只声明一个变量也不太推荐这种写法。 2、变量在定义时尽量做一下初始化赋值操作而不是只声明一个变量。上面的写法 1 就是属于只声明一个变量,也不太推荐这种写法。
如果变量刚开始没有值,我们可以将其赋值为空字符串、false、0、null 等值,这有利于代码书写的语义化。推荐的代码举例: 如果变量刚开始没有值,我们可以将其赋一个默认值空字符串、false、0、null 等值),这有利于代码书写的语义化。推荐的代码举例:
```js ```js
var a = ''; // 字符串类型的变量,如果刚开始没有值,则可以初始化为空字符串 var a = ''; // 字符串类型的变量,如果刚开始没有值,则可以初始化为空字符串
@ -105,25 +107,19 @@ foo();
## Null空对象 ## Null空对象
null 专门用来定义一个**空对象**。例如:`let a = null`,又例如 `Object.create(null)`. Null 类型的值只有一个,就是 null。比如 `var a = null`
如果你想定义一个变量用来保存引用类型,但是还没想好放什么内容,这个时候,可以在初始化时将其设置为 null。你可以把 null 理解为:**null 虽然是一个单独的数据类型但null 相当于是一个 object只不过地址为空空指针而已** null 专门用来定义一个**空对象**。例如:`let a = null`,又例如 `Object.create(null)`
比如: 如果你想定义一个变量用来保存引用类型(也就是对象),但是还不确定放什么内容,这个时候,可以在初始化时将其赋值为 null。你可以把 null 理解为:**null 虽然是一个单独的数据类型但null 相当于是一个 object只不过地址为空空指针而已**。
从语义上讲null表示一个空对象所以使用 typeof 检查一个 null 值时,会返回 object。举例
```js ```js
let myObj = null; var myObj = null;
cosole.log(typeof myObj); // 打印结果object cosole.log(typeof myObj); // 打印结果object
``` ```
补充:
- Null 类型的值只有一个,就是 null。比如 `let a = null`
- 从语义上讲null表示一个空对象所以使用 typeof 检查一个 null 值时,会返回 object。
## 其他区别 ## 其他区别
undefined 实际上是由 null 衍生出来的,所以`null == undefined`的结果为 true。 undefined 实际上是由 null 衍生出来的,所以`null == undefined`的结果为 true。