Конструктор класса JavaScript
Пример
Создайте класс Car, а затем создайте объект с именем «mycar» на основе класса Car:
class Car {
constructor(brand) { // Constructor
this.carname = brand;
}
}
mycar = new Car("Ford");
Другие примеры «Попробуйте сами» ниже.
Определение и использование
Метод constructor()
представляет собой специальный метод для создания и инициализации объектов, созданных внутри класса.
Метод constructor()
вызывается автоматически, когда класс инициируется, и он должен иметь точное имя «конструктор». На самом деле, если у вас нет метода конструктора, JavaScript добавит невидимый и пустой метод конструктора.
Примечание. Класс не может иметь более одного метода конструктора(). Это вызовет SyntaxError
.
Вы можете использовать этот super()
метод для вызова конструктора родительского класса (см. «Дополнительные примеры» ниже).
Поддержка браузера
constructor()
является функцией ECMAScript6 (ES6).
ES6 (JavaScript 2015) поддерживается во всех современных браузерах:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
constructor()
не поддерживается в Internet Explorer 11 (или более ранних версиях).
Синтаксис
constructor(parameters)
Технические детали
Версия JavaScript: | ECMAScript 2015 (ES6) |
---|
Дополнительные примеры
Чтобы создать наследование класса, используйте extends
ключевое слово.
Класс, созданный с наследованием класса, наследует все методы другого класса:
Пример
Создайте класс с именем «Модель», который наследует методы класса «Автомобиль»:
class Car {
constructor(brand) {
this.carname =
brand;
}
present() {
return 'I have a ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML
= mycar.show();
Метод super()
ссылается на родительский класс.
Вызывая super()
метод в методе конструктора, мы вызываем метод конструктора родителя и получаем доступ к свойствам и методам родителя.
Связанные страницы
Учебник по JavaScript: классы JavaScript
Учебник по JavaScript: JavaScript ES6 (EcmaScript 2015)
Справочник по JavaScript: Ключевое слово extends
Справочник по JavaScript: ключевое слово super