aboolean
は 32 ビット整数としてメモリに格納されていますか? null
値はどうですか?
本Speaking Javascriptでは、メモリに格納されている値の型を示すために使用されるtype タグを指します。例 type の type タグObject
は 000 でした。 type タグとは何ですか?
またはなどの値型の型タグを見つけるにはどうすればよいですか?boolean
string
aboolean
は 32 ビット整数としてメモリに格納されていますか? null
値はどうですか?
本Speaking Javascriptでは、メモリに格納されている値の型を示すために使用されるtype タグを指します。例 type の type タグObject
は 000 でした。 type タグとは何ですか?
またはなどの値型の型タグを見つけるにはどうすればよいですか?boolean
string
このトピックに関するAndy Wingo のブログ投稿から:
当初、すべての JavaScript 実装はタグ付きポインターを使用して JS 値を表していました。これは、割り当てられたメモリが少なくとも 4 バイトまたは 8 バイトを占め、最下位ビットまたは 3 ビットがゼロになるように配置されているという観察に由来する古いトリックです。
したがって、型タグを使用すると、すべての値を均一に格納できます。すべての値は 1 つのマシン ワード (32/64 ビット) を占め、タグ (最下位ビット) に応じて、オブジェクトへのポインターとして、またはタグに応じて整数/ブール値などとして解釈されます。
boolean は js メモリに 32 バイトの整数として格納されますか?
ブール値も 1 ワードを占めます。より具体的な答えについては、v8 ソースを調べる必要があります。しかし、私の記憶が正しければ、true
ルートfalse
ポインターとして表されます。
値型(boolean,undefined,string,number)の型タグを取得する方法;
JavaScriptからそれを行う方法はありません。内部実装の詳細です。