Прототипное наследование в JavaScript работает следующим образом: каждый объект имеет ссылку на свой прототипный объект, который используется для наследования свойств и методов. 1
При вызове метода или свойства объекта, JavaScript ищет это свойство в объекте и его прототипном объекте. 1 Если свойство не найдено в объекте, JavaScript продолжит поиск в его прототипном объекте и так далее, пока свойство не будет найдено или не будет достигнут конечный прототипный объект. 1
Чтобы создать новый объект на основе существующего объекта, в JavaScript используется функция-конструктор. 1 В функции-конструкторе можно определить свойства и методы, которые будут наследоваться всеми создаваемыми объектами. 1
Например, если есть объект Animal с методом speak, можно создать новый объект Dog, который будет наследовать метод speak от Animal. 4