Описание
Ключевое слово super() используется для вызова конструктора родительского класса для доступа к свойствам и методам родительского класса.
Совет. Чтобы лучше понять концепцию "наследования" (родительских и дочерних классов), прочитайте наше JavaScript Руководство по классам.
Создайте класс с именем "Model" который унаследует методы от класса "Car" class, используя ключевое слово extends.
Вызывая метод super() в методе конструктора, мы вызываем метод конструктора родителя и получает доступ к свойствам и методам родителя:
class Car {
constructor(brand) {
this.carname =
brand;
}
present() {
return 'У меня ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', это ' + this.model;
}
}
mycar = new Model("Форд", "Мустанг");
document.getElementById("demo").innerHTML
= mycar.show();
Поддержка браузера
super() — это функция ECMAScript6 (ES6).
ES6 (JavaScript 2015) поддерживается во всех современных браузерах с июня 2017 года:
| Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
| May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |
super() не поддерживается в Internet Explorer.
Синтаксис
super(arguments); // вызывает родительский конструктор (только внутри constructor)
super.parentMethods(arguments); // вызывает родительский метод
Технические детали
| JavaScript Версия: | ECMAScript 2015 (ES6) |
|---|
Похожие страницы
JavaScript Учебник: JavaScript Классы
JavaScript Учебник: JavaScript ES6 (EcmaScript 2015)
JavaScript Справочник: Ключевое слово extends
JavaScript Справочник: Метод constructor()