extends
Создаёт класс-наследник, который получает свойства и методы родителя.
Доступно с: ES2015
Синтаксис
class Child extends Parent { … }Примеры
Наследник получает методы родителя и добавляет свои:
class Animal {
constructor(name) {
this.name = name;
}
describe() {
return `${this.name} is an animal`;
}
}
class Dog extends Animal {
bark() {
return `${this.name} says woof`;
}
}
const rex = new Dog('Rex');
console.log(rex.describe());
console.log(rex.bark());Результат:
Rex is an animal
Rex says woofНаследование встроенного класса:
class NotFoundError extends Error {
constructor(what) {
super(`${what} not found`);
this.name = 'NotFoundError';
}
}
console.log(String(new NotFoundError('User')));Результат:
NotFoundError: User not foundПримечания
Наследовать можно только от одного класса. Если у наследника есть свой constructor, первым делом в нём нужно вызвать super(...).
См. также
- super — Вызывает конструктор или метод родительского класса.
- class — Объявляет класс — шаблон для создания объектов с общими методами.
- instanceof — Проверяет, создан ли объект классом (или его наследником).
В учебнике
- Наследование — Наследование классов в JavaScript — extends, super, переопределение методов и instanceof.