JavaScript如何在内部存储空值?

Aal*_*abi 6 javascript c++ null internal

我总是想知道JavaScript如何在null内部存储值.null不同于任何价值.我想范围的变量存储在某种结构数组中,每个结构对应一个变量.这个结构是否有某种名为"null"的布尔属性?

我会在V8源代码中自己查找,但我在C++代码中很丢失:(

我在谷歌上找不到任何东西.大多数结果与诸如"如何确定变量是否未定义或为空?"之类的问题有关.或类似的.

Gol*_*rol 4

JavaScript 作为一种弱类型脚本语言,可能有一个支持各种类型值的变体类型。我相信 PHP 使用相同类型的变量,尽管它们在其他语言中也广为人知,并且在 COM 自动化中发挥着重要作用。

它们基本上是包含类型和值的结构。该值可以是简单值,也可以是指向更大或更复杂值的指针。null只是受支持的类型之一,在这种情况下,值本身不起作用。

但由于 JavaScript 知道许多解释器,因此它的实现方式没有任何规则,您不必担心。通常,您只需要了解像这样的时间关键型应用程序的底层技术,无论如何,这些技术不应该用 JavaScript 编写。

  • 实际上,“null”并不是一个单独的类型;它是“Object”参考值的空值。 (2认同)
  • 请注意,“null === null”,因此就好像存在“null”值的单例实例。 (2认同)