[JS] > Prototypes (Часть 1) Flashcards
Что такое прототипы?
Прототипы это механизм наследование свойств и методов по цепочке обьектов при помощи свойста prototype
($) Если при чтении мы не найдем свойство, то мы продолжим поиск по цепи прототипов
($) По дефолту в prototype лежит обьект с конструктором который ссылается на этот же обьект
Откуда мы имеет метод valueOf?
function Person(name) {
this.name = name
}
var person1 = new Person(‘Bob’);
person1.valueOf()
Метод valueOf мы получаем изза того, что прототипом обьекта person1 является Object который имеет этот метод
Правильно ли суждение, что обьекты копируют свойства и методы от своих прототипов?
Нет, мы ищем данные свойства/методы путем поиска по прототипу
Мы можем получить Object.keys() метод путем получения его через прототип?
Нет, потому что он не обьявлен в свойстве Object.prototype, потому что этот метод является статическим
На кого будет ссылаться прототип после использования Object.create()?
Пример:
var person2 = Object.create(person1);
Прототип person2 будет ссылаться на person1
($) если вызвать person2.__proto__ то мы получим обьект person1
__proto__
доступ к обьекту прототипа?