JavaScript では、nottypeof 0
を与えますが、.'number'
'Number'
instanceof 0 Number
組み込み型の正規名は大文字であり、小文字の戻り値はtypeof
歴史的な理由で変更できない奇妙な/矛盾であると言うのは正確でしょうか? または、何か不足していますか?
JavaScript では、nottypeof 0
を与えますが、.'number'
'Number'
instanceof 0 Number
組み込み型の正規名は大文字であり、小文字の戻り値はtypeof
歴史的な理由で変更できない奇妙な/矛盾であると言うのは正確でしょうか? または、何か不足していますか?
いいえ、
実際には number はビルトインの値型で、Number はオブジェクトです。
typeof と言えば、一時的に 0 を Object に変換する必要はありません。
instanceof を使用すると、一時的に 0 がオブジェクトに変換されます。
これは、文字列で行うことと似ています。
"sometest"
=> これは文字列です
ただし、"sometest".toLowerCase()
最初に (一時的に) 文字列を String オブジェクトに変換してから、そのオブジェクトのメソッドを呼び出します (値型はメソッドを持つことができないため)。
つまり、小文字は値型を意味し、大文字はオブジェクトを意味します