Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

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.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.