JSON 未定义的值类型

我偶然发现了这个 JSON 代码。我注意到它利用了 undefined值。我在哪里可以找到有关这个值类型的更多信息?

  tracks:[
(         {
codec:"h264",
language:undefined,
id:1,
bitrate:785236,
content:"video"
}         ),
(         {
codec:"aac",
language:undefined,
id:2,
bitrate:75969,
content:"audio"
}         )
],
91786 次浏览

undefined是一种特殊类型,它只是表示变量 language没有初始化,或者可能还没有定义。

javascript中的 null仅仅表示没有值,它还可以用来表示数字、字符串和对象的“无值”。undefined值也表示没有值,它是尚未初始化的变量的值,以及从 object属性或 array元素获得的不存在的值 undefined是一个预定义的全局变量,初始化为未定义的值。

nullundefined没有任何属性或方法。实际上,使用 .[]访问这些值的属性或方法会导致 TypeError

  • 未定义的 没有一个有效的 JSON 值,即使它在 javascript 中是有效的。

    摘自官方的 JSON 标准: http://www.ecma-international. org/publications/files/ECMA-ST/ECMA-404.pdf (ECMA-404,第5节) :

    JSON 值可以是对象、数组、数字、字符串、 true、 false 或 null。

  • 对于 JSON,使用 无效而不是 未定义: { "something": null }