Переклад не закінчено. Будь ласка, допоможіть перекласти цю статтю з англійської.
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) | ? | ? | ? | ? |