May 31, 2023
Наследование и прототипы
Вместо классов в JavaScript есть прототипы. В нем используется система, называемая протиповым наследованием. Помните, что в JavaScript все является объектом, а не классом.
Наследование достигается путем указания свойства __proto__ объекта на другой объект. Лучший способ сделать это - с помощью функции Object.create()
function Animal (name) {
this.name = name
}Наделите всех будущих Animal этой функцией
Animal.prototype.greet = function () {
console.log(`Hello, my name is ${this.name}`)
}function Cat (name, breed) {
// Привязка имени к родительскому объекту animal
Animal.call(this, name)
this.breed = 'tabby'
}метод создания Объекта позволяет объектам наследоваться от других
Cat.prototype = Object.create(Animal.prototype)
Cat.prototype.purr = function () {
console.log('puuurrrrr')
}Nora имеет доступ ко всем методам у Cats и Animals
const nora = new Cat('Nora')
nora.greet()
nora.purr()$ node jsbyexample.js Hello, my name is Nora puuurrrrr
Далее: классы es6