私は『Web 開発者のためのプロフェッショナル Javascript』の第 4 章を読んでいますが、そこには 5 つのプリミティブ型は undefined、null、boolean、number、string であると書かれています。
null
がプリミティブである場合、なぜ がtypeof(null)
返されるのでしょうか"object"
?
それはnull
参照渡しされる (ここではすべてのオブジェクトが参照渡しされると想定しています) ということなので、プリミティブではないということではないでしょうか?
ベストアンサー1
null
// これはJavaScriptの始まりから存在しています typeof null === 'オブジェクト';JavaScript の最初の実装では、JavaScript の値は型タグと値として表されていました。オブジェクトの型タグは 0 でした。は
null
NULL ポインタ (ほとんどのプラットフォームでは 0x00) として表されました。その結果、null の型タグは 0 となり、戻り値は「オブジェクト」になりましたtypeof
。(参照)ECMAScriptの修正案が提案されましたが(オプトイン経由)、拒否されました. その結果
typeof null === 'null'
、 .