JavaScript如何在内部存储空值

How does JavaScript store null values internally?

本文关键字:存储 空值 在内部 JavaScript      更新时间:2023-10-16

我一直想知道JavaScript是如何在内部存储null值的。null不同于任何值。我想象作用域的变量存储在某种结构数组中,每个结构对应一个变量。这个结构是否有某种布尔属性称为"null"?

我会在V8源代码中寻找它自己,但我很迷失在c++代码中:(

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

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

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

但是由于JavaScript知道许多解释器,所以没有关于它如何实现的规则,所以你不应该担心。通常情况下,您只需要了解像这样的时间关键型应用程序的底层技术,无论如何都不应该用JavaScript编写。