Метод constructor класса JavaScript

Определение и использование

constructor() Метод является особым методом, предназначенным для создания и инициализации объектов, созданных в классе.

При инициализации класса:constructor() Метод будет автоматически вызван и должен использовать точное имя "constructor", фактически, если у вас нет метода конструктора, JavaScript добавит невидимый пустой метод конструктора.

Обратите внимание:Класс не может использовать несколько методов constructor(). Это вызовет SyntaxError.

Вы можете использовать super() Методы для вызова метода конструктора родительского класса (см.下面的 примеры).

Экземпляр

Пример 1

Создайте класс Car, а затем создайте объект "mycar" на основе этого класса:

class Car {
  constructor(brand) {  // Конструктор
    this.carname = brand;
  }
}
mycar = new Car("Ford");

Попробуйте сами

Пример 2

Чтобы создать наследование классов, используйте extends Ключевые слова.

Классы, созданные с помощью наследования, наследуют все методы другого класса.

Создайте класс "Model", который будет наследовать методы класса "Car":

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  present() {
    возврат 'I have a ' + this.carname;
  }
}
class Model extends Car {
  constructor(brand, mod) {
    super(brand);
    this.model = mod;
  }
  show() {
    возврат this.present() + ', it is a ' + this.model;
  }
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = mycar.show();

Попробуйте сами

super() метод ссылается на родительский класс.

Через вызов в методе конструктора super() Метод, который мы вызовем, является методами и свойствами родительского класса.

Грамматика

constructor(параметры)

Технические детали

Версия JavaScript: ECMAScript 2015 (ES6)

Поддержка браузеров

Метод Chrome IE Firefox Safari Opera
constructor() 49.0 13.0 45.0 9.0 36.0

Связанные страницы

JavaScript Учебник:Классы JavaScript

JavaScript Учебник:JavaScript ES6 (EcmaScript 2015)

Руководство JavaScript:Ключевое слово extends

Руководство JavaScript:Ключевое слово super