This translation is incomplete. Please help translate this article from English.
Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.
constructor -специальный метод, служащий для создания и инициализации объектов, созданных с использованием class.Синтаксис
constructor([arguments]) { ... }
Описание
Им может быть только один специальный метод, с названием "constructor", находящийся в классе. Если класс содержит более одного конструктора, будет возбуждено исключение SyntaxError.
В конструкторе может быть использовано ключевое слово super, чтобы вызвать конструктор родительского класса.
Примеры
Данный фрагмент кода взят из classes sample (live demo).
class Square extends Polygon {
constructor(length) {
// Здесь вызывается конструктор родительского класса с length
// предоставляя многоугольнику ширину и высоту
super(length, length);
// Заметка: В производном классе, super() должен вызываться перед тем
// как вы сможете использовать 'this'. Иначе будет возбуждено исключение reference error.
this.name = 'Square';
}
get area() {
return this.height * this.width;
}
set area(value) {
this.area = value;
}
}
Спецификация
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Constructor Method' в этой спецификации. |
Стандарт | Initial definition. |
Совместимость с браузерами
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | 42.0 | Nightly build | ? | ? | ? |
| Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|
| Basic support | Нет | 42.0 | Nightly build | ? | ? | ? | 42.0 |
Firefox-specific notes
- Default constructors are not implemented yet (ошибка 1105463)