Конструктор

Переклад не закінчено. Будь ласка, допоможіть перекласти цю статтю з англійської.

constructor() - це спеціальний метод для ініціалізації створеного класом об'єкту.

Синтаксис

constructor([аргументи]) { ... }

Опис

Клас може мати тільки один спеціальний метод з іменем "constructor" .Якщо клас містить в собі більш ніж один метод "constructor", буде згенеровано синтаксичну помилку: A SyntaxError .

constructor може використовувати ключове слово super щоб звернутись до конструктора батьківського класу.

Якщо ви не вкажете  метод constructor, буде використано constructor за замовчуванням.

Приклади

Використання методу constructor

Цей фрагмент коду взято з classes sample (демонстрація).

class Square extends Polygon {
  constructor(length) {
    // Here, it calls the parent class' constructor with lengths
    // provided for the Polygon's width and height
    super(length, length);
    // Note: In derived classes, super() must be called before you
    // can use 'this'. Leaving this out will cause a reference error.
    this.name = 'Square';
  }

  get area() {
    return this.height * this.width;
  }

  set area(value) {
    this.area = value;
  } 
}

Конструктори за замовчуванням

Якщо ви не вкажете  метод constructor, буде використано constructor за замовчуванням. Для фундаментальних класів, конструктором за замовчуванням являється:

constructor() {}

Для вторинних (отриманих) класів, конструктором за замовчуванням є:

constructor(...args) {
  super(...args);
}

Специфікації

Специфікація Статус Коментар
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Constructor Method' in that specification.
Standard Первісне визначення
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Constructor Method' in that specification.
Draft  

Сумісність з браузерами

Особливість Chrome Firefox (Gecko) Internet Explorer Opera Safari
Стандартна підтримка 42.0 45 (45) ? ? ?
Конструктори за замовчуванням ? 45 (45) ? ? ?
Особливість Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Стандартна підтримка No support 42.0 45.0 (45) ? ? ? 42.0
Конструктори за замовчуванням ? ? 45.0 (45) ? ? ? ?

Дивіться також

Мітки документа й учасники

 Зробили внесок у цю сторінку: xduocore
 Востаннє оновлена: xduocore,