null 是原始类型还是对象类型?

hun*_*unk 3 javascript

https://developer.mozilla.org/en-US/docs/Glossary/Primitive 在 JavaScript 中,原始值(原始值,原始数据类型)是不是对象且没有方法的数据。有 6 种原始数据类型:string、number、bigint、boolean、undefined 和 symbol。还有一个 null,它看起来很原始,但实际上是每个 Object 的一个特例:任何结构化类型都是由原型链从 null 派生出来的。

但是在 Javascript 的定义指南中,它说任何不是数字、字符串、布尔值、符号、空值或未定义的 Javascript 值都是一个对象。

那么哪个是正确的呢?null 是否为对象。

Cer*_*nce 6

如有疑问,请阅读官方规范,它本质上是 JavaScript 的上帝之言。

原始值是以下内置类型之一的成员:Undefined、Null、Boolean、Number、BigInt、String 和 Symbol;对象是内置类型 Object 的成员;一个函数是一个可调用的对象。通过属性与对象关联的函数称为方法。

所以,是的,null是一个原始值。