@MishaXXL

Почему корень в JS это null, а не Object.prototype?

Почему корень наследования в JS это null, а не Object.prototype?
Ведь все объекты наследуются от Object.prototype, для чего потребовалось сделать наследование Object.prototype от null?
В этой цепочке логики и скрывается почему null тип это объект, а не тип null?
  • Вопрос задан
  • 155 просмотров
Решения вопроса 2
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
Комментировать
AlexanderK-A
@AlexanderK-A
UTC+10
А вообще ваш вопрос немного интереснее, чем кажется на первый взгляд).

Спецификация ES описывает и значение null, и тип Null:


null & Null
4.4.15 null value
primitive value that represents the intentional absence of any object value

4.4.16 Null type
type whose sole value is the null value


То есть в логике спецификации вывод

console.log(Object.getPrototypeOf(Object.prototype));
// выводит null


Следует читать не как "прототип объекта Object.prototype - это/равен null", а "у объекта Object.prototype прототип отсутствует (намеренно не задан)".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 19:31
500 руб./за проект
21 нояб. 2024, в 19:28
200000 руб./за проект