Система наследования свойств в JavaScript устроена через цепочку прототипов. 2 Каждый объект содержит внутреннюю ссылку на другой объект, называемый его прототипом. 2 У объекта-прототипа также есть свой собственный прототип и так далее до тех пор, пока цепочка не завершится объектом, у которого свойство prototype равно null. 2 По определению, null не имеет прототипа и является завершающим звеном в цепочке прототипов. 2
При попытке получить доступ к какому-либо свойству объекта, свойство вначале ищется в самом объекте, затем в прототипе объекта, после чего в прототипе прототипа, и так далее. 2 Поиск ведётся до тех пор, пока не найдено свойство с совпадающим именем или не достигнут конец цепочки прототипов. 2
Некоторые другие методы наследования в JavaScript: