static

by 2 contributors:

This translation is incomplete. Please help translate this article from English.

Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.

Для того, чтобы объявить статический метод класса, необходимо использовать слово static.

Синтаксис

static methodName() { ... }

Описание

Cтатические методы вызываются через имя класса. Вызывать статические методы через имя объекта запрещено. Статические методы часто используются для создания вспомогательных функций приложения.

Примеры

Следующий пример демонстрирует, как создать статический метод внутри класса и как его переопределить при наследовании. Дальше приведено, как можно и как нельзя вызывать статические методы:

class Tripple {
  static tripple(n) {
    n = n | 1;
    return n * 3;
  }
}

class BiggerTripple extends Tripple {
  static tripple(n) {
    return super.tripple(n) * super.tripple(n);
  }
}

console.log(Tripple.tripple());
console.log(Tripple.tripple(6));
console.log(BiggerTripple.tripple(3));
var tp = new Tripple();
console.log(tp.tripple()); //Выведет сообщение, что "tripple" не является
                           //функцией ('tp.tripple is not a function').

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

Спецификация Статус Комментарии
ECMAScript 6 (ECMA-262)
Определение 'Class definitions' в этой спецификации.
Кандидат в рекомендации Первичное определение

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

Браузер Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка 42.0 Доступно только в ночных сборках (с февраля 2015) ? ? ?
Браузер Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка ? 42.0 Доступно только в ночных сборках (с февраля 2015) ? ? ?

Смотрите также

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

Contributors to this page: terranisu, Witadol
Обновлялась последний раз: terranisu,
Скрыть боковую панель