In JavaScript, typeof null returns object. This behavior is a known quirk of the language. In the early implementation of JavaScript, values were stored in a way that the type information was stored in the lower bits of the data. For objects, these bits were set to 0. The null value was represented as the null pointer (which was also stored as a binary value with all bits set to 0). Consequently, typeof treated null as an object because it had the same type tag as an object.
Although this behavior is widely recognized as a bug, it has been retained for the sake of backward compatibility. Changing it would break existing code that relies on this behavior.
1 Comment
dev sahar 6 months ago
In JavaScript, typeof null returns object. This behavior is a known quirk of the language. In the early implementation of JavaScript, values were stored in a way that the type information was stored in the lower bits of the data. For objects, these bits were set to 0. The null value was represented as the null pointer (which was also stored as a binary value with all bits set to 0). Consequently, typeof treated null as an object because it had the same type tag as an object. Although this behavior is widely recognized as a bug, it has been retained for the sake of backward compatibility. Changing it would break existing code that relies on this behavior.