バグは夜更け過ぎに仕様に変わるだろう*1 -- 詠人知らず
// This stands since the beginning of JavaScript typeof null === 'object';In the first implementation of JavaScript, JavaScript values were represented as a type tag and a value. The type tag for objects was
0
.null
was represented as theNULL
pointer (0x00
in most platforms). Consequently,null
had0
as type tag, hence thetypeof
return value"object"
.A fix was proposed for ECMAScript (via an opt-in), but was rejected. It would have resulted in
typeof null - JavaScript | MDNtypeof null === 'null'
.
関連URL