Наследование в JavaScript реализуется через прототипы. Каждый объект в JavaScript имеет внутреннее свойство [[Prototype]]
, которое ссылается на другой объект. Когда мы пытаемся получить доступ к свойству или методу объекта, которого нет непосредственно у него, движок JavaScript ищет это свойство или метод в прототипе этого объекта. Если он не находит его там, то продолжает поиск по цепочке прототипов, которая образуется связями [[Prototype]]
, пока не достигнет null
(конца цепочки).
Существует два основных механизма наследования:
Классическое прототипное наследование (ES5 и ранее): Основано на использовании функций-конструкторов и их свойства prototype
.
javascript
Классовое наследование (ES6 и позднее): Использует синтаксический сахар class
и extends
, который под капотом всё равно оперирует прототипами.
javascript
Наследование в JavaScript реализуется через прототипы. Каждый объект в JavaScript имеет внутреннее свойство [[Prototype]]
, которое ссылается на другой объект. Когда мы пытаемся получить доступ к свойству или методу объекта, которого нет непосредственно у него, движок JavaScript ищет это свойство или метод в прототипе этого объекта. Если он не находит его там, то продолжает поиск по цепочке прототипов, которая образуется связями [[Prototype]]
, пока не достигнет null
(конца цепочки).
Существует два основных механизма наследования:
Классическое прототипное наследование (ES5 и ранее): Основано на использовании функций-конструкторов и их свойства prototype
.
javascript
Классовое наследование (ES6 и позднее): Использует синтаксический сахар class
и extends
, который под капотом всё равно оперирует прототипами.
javascript
Register or sign in to get access to full answers for all questions from the question bank.