8

nullJavaScript がどのように内部的に値を保存するのか、いつも疑問に思っていました。nullはどの値とも異なります。スコープの変数は、ある種の構造体の配列に格納され、各構造体は変数に対応していると思います。この構造には、「null」と呼ばれるブール型のプロパティがありますか?

私はV8ソースコードで自分でそれを探しますが、C++コードではかなり迷っています:(

Googleで何も見つかりませんでした。ほとんどの結果は、「変数が未定義か null かを判断する方法は?」などの質問に関連していました。または類似。

4

1 に答える 1

4

弱い型付けのスクリプト言語である JavaScript には、おそらく、あらゆる種類の値をサポートするバリアント型があります。PHP も同じタイプの変数を使用していると思いますが、それらは他の言語でも知られており、COM 自動化で重要な役割を果たしています。

それらは基本的に、型と値を含む構造体です。値は、単純な値にすることも、より大きな値またはより複雑な値へのポインターにすることもできます。nullサポートされているタイプの 1 つにすぎません。この場合、値自体は何の役割も果たしません。

しかし、JavaScript は多くのインタープリターを知っているため、実装方法にルールはなく、気にする必要はありません。通常、タイム クリティカルなアプリケーションについては、このような基礎となる手法について知る必要があるだけで、とにかく JavaScript で記述すべきではありません。

于 2012-12-27T00:29:49.043 に答える