@AlexNew22

Почему у undefined нет прототипа?

Вроде в js все типы данных это объекты
Почему у undefined и null нет тогда таких свойств?
Или prototype специально не был добавлен в null и undefined, но они все так же являются объектами, как и другие типы?
Можно ли как-то добавить undefined и null методы?
Как вообще происходит их инициализация при открытии страницы?
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
Вроде в js все типы данных это объекты

вы, наверное, путаете с Python. Там, как раз, все и является объектами.

В JavaScript undefined - это примитив. Но вы можете заметить, что у примитивных значений можно вызывать методы. Например, "javascript".length вернет вам 10. Если у строки вызвали метод - значит, строка - это объект? Нет. В таких случаях примитивы оборачиваются в соответствующие объекты, а затем у объекта вызывается метод. Но само значение остается примитивом, когда обертка спадает.

С другой стороны, вы можете создать строку и как объект класса String
let a = new String("javascript");
let b = "javascript"; 

a == b; // true
a === b; // а вот тут false

// потому что
typeof a; // "object"
typeof b; // "string"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы