Skip to content

Commit ad06370

Browse files
authored
Merge pull request #1558 from Rnbsov/patch-41
add changes according to commit from english edition
2 parents 7f8b758 + c7775b1 commit ad06370

File tree

1 file changed

+10
-6
lines changed
  • 1-js/09-classes/03-static-properties-methods

1 file changed

+10
-6
lines changed

1-js/09-classes/03-static-properties-methods/article.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Мы также можем присвоить метод самому классу. Такие методы называются *статическими*.
55

6-
В классе такие методы обозначаются ключевым словом `static`, например:
6+
В объявление класса они добавляются с помощью ключевого слова `static`, например:
77

88
```js run
99
class User {
@@ -29,9 +29,11 @@ User.staticMethod = function() {
2929

3030
Значением `this` при вызове `User.staticMethod()` является сам конструктор класса `User` (правило "объект до точки").
3131

32-
Обычно статические методы используются для реализации функций, принадлежащих классу, но не к каким-то конкретным его объектам.
32+
Обычно статические методы используются для реализации функций, принадлежащих самому классу, а не какому-либо конкретному его объекту.
3333

34-
Например, есть объекты статей `Article`, и нужна функция для их сравнения. Естественное решение - сделать для этого метод `Article.compare`:
34+
Например, есть объекты статей `Article`, и нужна функция для их сравнения.
35+
36+
Естественным решением было бы добавить статический метод `Article.compare`:
3537

3638
```js run
3739
class Article {
@@ -61,9 +63,11 @@ articles.sort(Article.compare);
6163
alert( articles[0].title ); // CSS
6264
```
6365

64-
Здесь метод `Article.compare` стоит "над" статьями, как способ их сравнения. Это метод не отдельной статьи, а всего класса.
66+
Здесь метод `Article.compare` стоит "над" статьями, как средство для их сравнения. Это не метод статьи, а скорее метод всего класса.
67+
68+
Другим примером может быть так называемый "фабричный" метод.
6569

66-
Другим примером может быть так называемый "фабричный" метод. Представим, что нам нужно создавать статьи различными способами:
70+
Скажем, нам нужно несколько способов создания статьи:
6771

6872
1. Создание через заданные параметры (`title`, `date` и т. д.).
6973
2. Создание пустой статьи с сегодняшней датой.
@@ -99,7 +103,7 @@ alert( article.title ); // Сегодняшний дайджест
99103

100104
```js
101105
// предположим, что Article - это специальный класс для управления статьями
102-
// статический метод для удаления статьи:
106+
// статический метод для удаления статьи по id:
103107
Article.remove({id: 12345});
104108
```
105109

0 commit comments

Comments
 (0)