Modern JS Cheatsheet / Памятка по современному JavaScript: Классы
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
### Класс a_popova 03.10.17 в 15:02 |
|
|
JavaScript - это язык, [основанный на прототипах](https://en.wikipedia.org/wiki/Prototype-based_programming) (в то время как, например, Java - язык, [основанный на классах](https://en.wikipedia.org/wiki/Class-based_programming)). В обновлении ES6 представлены классы JavaScript, которые являются синтаксическим сахаром для наследования на основе прототипов, а **не** новой моделью наследования классов ([ref](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes)). a_popova 03.10.17 в 15:04 |
||
|
Слово *класс* может ввести вас в заблуждение, если вы знакомы с классами в других языках. Если да, постарайтесь не предполагать, как классы в JavaScript работают на этой основе и считайте это совершенно другим понятием. a_popova 03.10.17 в 15:05 Если вы знакомы с классами в других языках, слово "класс" может ввести вас в заблуждение. Постарайтесь не делать предположений о работе классов в JavaScript на основе других языков. Считайте это совершенно другим понятием. Tomatoknight 05.10.17 в 18:21 |
||
|
Поскольку этот документ не является попыткой научить вас языку с нуля, я надеюсь, что вы знаете, что такое прототипы и как они себя ведут. Но вот несколько ссылок, которые мне показались полезными для понимания этого понятия: a_popova 03.10.17 в 15:06 |
||
|
- [Понимание прототипов в JS - Yehuda Katz](http://yehudakatz.com/2011/08/12/understanding-prototypes-in-javascript/) a_popova 03.10.17 в 15:06 |
||
|
#### Примеры a_popova 03.10.17 в 15:07 |
||
|
До ES6, синтаксис на основе прототипов: a_popova 03.10.17 в 15:07 |
||
|
```js a_popova 03.10.17 в 15:07 |
||
|
С ES6, синтаксис на основе классов: a_popova 03.10.17 в 15:07 |
||
|
constructor(name, age) { a_popova 03.10.17 в 15:09 |
||
|
#### Дополнительные материалы a_popova 03.10.17 в 15:10 |
||
|
Для понимания прототипов: a_popova 03.10.17 в 15:10 |
||
|
- [Понимание прототипов в JS - Yehuda Katz](http://yehudakatz.com/2011/08/12/understanding-prototypes-in-javascript/) a_popova 03.10.17 в 15:10 |
||
|
Для понимания классов: a_popova 03.10.17 в 15:10 |
||
|
- [ES6 Глубокое изучение классов - Nicolas Bevacqua](https://ponyfoo.com/articles/es6-classes-in-depth) a_popova 03.10.17 в 15:11 |
