Задать вопрос
Alym_a
@Alym_a
дно

Добавление свойства в прототип объекта. Почему не добавляется?

Смотрю видео по Javascript. Создаем функцию конструктор, создаем объект
function User(name, age) {
  this.name = name;
  this.age = age;
  this.admin = false;
}

var u1 = new User("Mike", 15);

// u1
// User {name: "Mike", age: 15, admin: false}


После этого добавляем в прототип новое свойство, допустим, так:
User.prototype.x= 10;
// или так
// u1.constructor.prototype.x = 10;


У препода на выходе при выводе u1 получается так:
// u1
// User {name: "Mike", age: 15, admin: false, x:10}


У меня это свойство "X" не появляется. В том и вопрос, почему при копировании кода один в один у него свойство появляется, у меня нет

Это свойство есть в объекте, я могу его достать через u1.__proto__.x, но почему у него оно лежит вместе с другими свойствами, на одном уровне что ли
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”
Потому что оно записано в __proto__
По комменту не очень понятно как так у препода получилось.
Может он для наглядности написал так, что его считать это св во можно.
Тогда там будет и все методы объекта Object
Лучше попроси его console.dir вывести и посмотри св во __proto__
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы