JavaScript — почему typeof null «объект»?

почему typeof null «объект»?

Как уже указывалось, в спецификации так сказано. Но поскольку реализация JavaScript предшествовала написанию спецификации ECMAScript, и спецификация была осторожна, чтобы не исправить недостатки начальной реализации, все еще остается законный вопрос о том, почему это было сделано именно таким образом. Дуглас Крокфорд называет это ошибкой . Киро Риск считает, что это что-то вроде :

Причина этого в том, что null , в отличие от undefined , часто использовался (и до сих пор используется) там, где появляются объекты. Другими словами, null часто используется для обозначения пустой ссылки на объект. Когда Брендан Эйх создал JavaScript, он следовал той же парадигме, и было целесообразно (возможно) возвращать «объект». Фактически, спецификация ECMAScript определяет null как примитивное значение, которое представляет намеренное отсутствие какого-либо значения объекта (ECMA-262, 11.4.11).

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector