说“;null是文字“”;在JavaScript中

What does it mean to say that "null is a literal" in JavaScript?

本文关键字:JavaScript null 文字      更新时间:2023-09-26

undefined是一个全局变量,其值为undefined—数据类型本身只能有一个值。但是null的值是多少?

MDN表示:

null值是一个文字。

这是什么意思?

我知道字面意思是"你在代码中写的固定内容"。类似于x=3+4。

这里的3和4是整数。但我不理解MDN文档中所说的内容。

文字只是在代码中写入值的一种方式。null,您实际键入的内容,是定义值null的文字,就像1是定义值1的文字一样。null就是这样:一个值(Null类型中唯一的值),就像1一样,是一个值。

请记住,MDN是一个社区编辑的资源。它通常很好,但归根结底是谁写的和/或随后编辑的页面。有时术语有点偏离。让我们看看该页面的开头一句,就像你发布问题时一样:

null是一个JavaScript文本,表示null或"空"值,即不存在对象值。

是的,这看起来像是一个编辑错误。它应该读成这样:

null表示有意不存在任何对象值。

我稍后可能会编辑它 我已经编辑了它,接下来的一行试图强调null是一个文字,而不是像undefined这样的全局对象上的属性的标识符。

我不是专家,但我想你已经知道了答案:你说3和4是"整数"。引用维基百科:

在计算机科学中,文字是表示源代码中固定值的符号。

所以34都是文字,34"hello"也是文字。null也是一个文字,但它不是代表一个数字或字符串,而是一个虚无的意思。

编辑:正如我所说,我不是专家,我似乎对文字不太正确。T.J.Crowder比我解释得更好,见他的回答

Null是JS中的基元之一。

在某些情况下,此基元类型用作文字,这些情况需要表示变量或引用中缺少值。

然而,null的文字价值却有着特殊的意义。

值得注意的是:

typeof null        // object (bug in ECMAScript, should be null)
typeof undefined   // undefined
null === undefined // false
null  == undefined // true

null不是对象,没有方法,并且没有任何值

参见Null

在计算机科学中,零值表示一个引用,通常是有意地,指向不存在或无效的对象,或住址空引用的含义因语言而异实现。

在JavaScript中,null是基元值之一。


原始

基元(基元值、基元数据类型)是指一个对象并且没有方法


4.3.12空值

表示有意不存在任何对象的基元值值

4.3.13空型

唯一值为null值的类型