Files
frontend-docs/docs/javascript/06-classes/03-static-option-methods.md
2025-03-25 16:40:25 +03:00

2.2 KiB
Raw Permalink Blame History

sidebar_position
sidebar_position
3

Статические свойства и методы

Статические методы используются для функциональности, принадлежат классу «в целом», а не относятся к конкретному объекту класса.

Например, метод для сравнения двух статей Article.compare(article1, article2) или фабричный метод Article.createTodays().

В объявлении класса они помечаются ключевым словом static.

Статические свойства используются в тех случаях, когда мы хотели бы сохранить данные на уровне класса, а не какого-то одного объекта.

class MyClass {
  static property = ...;

  static method() {
    ...
  }
}

Технически, статическое объявление это то же самое, что и присвоение классу:

MyClass.property = ...
MyClass.method = ...

Статические свойства и методы наследуются.

Для class B extends A прототип класса B указывает на A: B.Prototype = A. Таким образом, если поле не найдено в B, поиск продолжается в A.

Статические свойства

Статические свойства также возможны, они выглядят как свойства класса, но с static в начале:

class Article {
  static publisher = "Илья Кантор";
}
alert( Article.publisher ); // Илья Кантор

Это то же самое, что и прямое присваивание Article:

Article.publisher = "Илья Кантор";

Наследование статических свойств и методов

Статические свойства и методы наследуются.

🚀 Источник: https://learn.javascript.ru/static-properties-methods