在JavaScript中说“null是文字”是什么意思?

时间:2016-03-23 08:22:27

标签: javascript

undefined是一个全局变量,其值为undefined - 一种数据类型,它只能有一个值。但是null的价值是多少?

MDN says

  

null值是一个文字。

这是什么意思?

我知道字面意思是“你写的东西固定在你的代码中”。像x = 3 + 4。

这里3和4是整数文字。但是我没有把它与MDN文档所说的一起得到。

4 个答案:

答案 0 :(得分:12)

文字只是在我们的代码中编写值的一种方式。 null,您实际输入的内容是定义值null的文字,就像1是定义值1的文字一样。null value 只是:一个值(Null类型中唯一的值),如1是一个值(Number类型中的许多值之一)。

请记住,MDN是社区编辑的资源。它通常非常好,但它取决于谁编写和/或随后编辑页面。有时术语有点偏。让我们看一下你发布问题时该页面的开头句子:

  

null是表示null或“空”值的JavaScript文字,即不存在对象值。

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

  

null表示故意缺少任何对象值。

我可能稍后会编辑它。我已经编辑了它,后面的一行试图突出显示null是一个文字,而不是全局属性的标识符像undefined这样的对象可以是。

答案 1 :(得分:1)

我不是专家,但我认为你已经有了答案:你说3和4是“整数 - 字面”。引用维基百科:

  

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

所以34都是文字,以及34"hello"null以同样的方式是文字,但不是代表数字或字符串,而是具有虚无的含义。

编辑:正如我所说的,我不是专家,看起来我对文字不太正确。 T.J.克劳德比我更好地解释了它,see his answer

答案 2 :(得分:1)

Null是JS中的原语之一。

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

但是,null的字面值具有特殊含义。

值得注意的是:

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

答案 3 :(得分:1)

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

请参阅Null

  

在计算机科学中,空值表示指向的参考,   通常是故意地,对于不存在或无效的对象或   地址。空引用的含义因语言而异   的实施方式。

     

在JavaScript中,null是原始值之一。

  

Primitive

     

原语(原始值,原始数据类型)是不是的数据   一个对象,没有方法

  

4.3.12空值

     

表示故意缺少任何对象的原始值   值

     

4.3.13空类型

     

类型,其唯一值为null