Modern JS Cheatsheet / Памятка по современному JavaScript: Статические методы
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
### Статические методы a_popova 12.10.17 в 14:27 |
|
|
#### Краткое объяснение a_popova 12.10.17 в 14:28 |
||
|
Ключевое слово `static` используется в классах для объявления статических методов. Статические методы - это функции в классе, которые принадлежат к объектам класса, и недоступны никаким экземплярам этого класса. a_popova 12.10.17 в 14:28 |
||
|
#### Пример кода a_popova 12.10.17 в 14:28 |
||
|
```js a_popova 12.10.17 в 14:29 |
||
|
//Обратите внимание, что нам не пришлось создавать экземпляр класса Repo a_popova 12.10.17 в 14:29 |
||
|
console.log(Repo.getName()) //Repo name is modern-js-cheatsheet a_popova 12.10.17 в 14:29 |
||
|
#### Подробное объяснение a_popova 12.10.17 в 14:29 |
||
|
Статические методы можно вызвать в другом статическом методе, используя ключевое слово `this`, однако это не работает для нестатических методов. Нестатические методы не могут напрямую обращаться к статическим методам, используя ключевое слово `this`. a_popova 12.10.17 в 14:30 |
||
|
##### Вызов статических методов из статического метода. a_popova 12.10.17 в 14:30 |
||
|
Для вызова статического метода из другого статического метода можно использовать ключевое слово `this` следующим образом: a_popova 12.10.17 в 14:30 |
||
|
```js a_popova 12.10.17 в 14:30 |
||
|
##### Вызов статических методов из нестатических методов. a_popova 12.10.17 в 14:30 |
||
|
Нестатические методы могут вызывать статические двумя способами: a_popova 12.10.17 в 14:30 |
||
|
1. ###### Используя имя класса. a_popova 12.10.17 в 14:30 |
||
|
Чтобы получить доступ к статическому методы из нестатического, используем имя класса и вызываем статический метод как обычное свойство, например, `ClassName.StaticMethodName` a_popova 12.10.17 в 14:31 |
||
|
```js a_popova 12.10.17 в 14:31 |
||
|
// нужно создать экземпляр класса для использования нестатических методов a_popova 12.10.17 в 14:31 |
||
|
2. ###### Используя конструктор a_popova 12.10.17 в 14:32 |
||
|
Статические методы можно вызвать как свойства объекта-конструктора класса. a_popova 12.10.17 в 14:32 |
||
|
```js a_popova 12.10.17 в 14:33 |
||
|
//Вызывает статический метод как обычное свойство конструктора a_popova 12.10.17 в 14:34 |
||
|
// нужно создать экземпляр класса для использования нестатических функций a_popova 12.10.17 в 14:34 |
||
|
#### Внешние ресурсы a_popova 12.10.17 в 14:35 |
||
|
- [Ключевое слово static- MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static) a_popova 12.10.17 в 14:35 |
