Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

static

Метод или свойство самого класса, а не его объектов.

Доступно с: ES2015

Синтаксис

static method() { … } / static field = value

Примеры

Статический метод — фабрика объектов:

class User {
  constructor(name, role) {
    this.name = name;
    this.role = role;
  }
 
  static admin(name) {
    return new User(name, 'admin');
  }
}
 
console.log(User.admin('Anna').role);

Результат:

admin

Статическое поле — общий счётчик:

class Ticket {
  static count = 0;
 
  constructor() {
    Ticket.count++;
    this.number = Ticket.count;
  }
}
 
new Ticket();
const second = new Ticket();
 
console.log(second.number, Ticket.count);

Результат:

2 2

Примечания

Статические члены вызываются через имя класса: User.admin(). У объекта anna.admin будет undefined. Встроенные примеры — Math.max(), Array.from(), Object.keys().

См. также

  • class — Объявляет класс — шаблон для создания объектов с общими методами.
  • Private fields (#) — Поля и методы, доступные только внутри класса.

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.