You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/09-classes/01-class/article.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
2
-
# Базовый синтаксис классов
2
+
# Класс: базовый синтаксис
3
3
4
4
```quote author="Википедия"
5
5
В объектно-ориентированном программировании *класс* - это расширяемый шаблон кода для создания объектов, который устанавливает в них начальные значения (свойства) и реализацию поведения (методы).
@@ -56,7 +56,7 @@ user.sayHi();
56
56
57
57
58
58
```warn header="Методы в классе не разделяются запятой"
59
-
Частая ошибка начинающих разработчиков - ставить запятую между методами класса, что приводит к синтаксической ошибке.
59
+
Частая ошибка начинающих разработчиков - ставить запятую между методами класса, что приводит к синтаксической ошибке.
60
60
61
61
Синтаксис классов отличается от литералов объектов, не путайте их. Внутри классов запятые не требуются.
62
62
```
@@ -143,7 +143,7 @@ user.sayHi();
143
143
Однако есть важные отличия:
144
144
145
145
1. Во-первых, функция, созданная с помощью `class`, помечена специальным внутренним свойством `[[FunctionKind]]:"classConstructor"`. Поэтому это не совсем то же самое, что создавать её вручную.
146
-
146
+
147
147
В отличие от обычных функций, конструктор класса не может быть вызван без `new`:
148
148
149
149
```js run
@@ -176,7 +176,7 @@ user.sayHi();
176
176
177
177
## Class Expression
178
178
179
-
Как и функции, классы можно определять внутри другого выражения, передавать, возвращать, присваивать и т.д.
179
+
Как и функции, классы можно определять внутри другого выражения, передавать, возвращать, присваивать и т.д.
180
180
181
181
Пример Class Expression (по аналогии с Function Expression):
182
182
@@ -193,7 +193,7 @@ let User = class {
193
193
Если у Class Expression есть имя, то оно видно только внутри класса:
194
194
195
195
```js run
196
-
// "Named Class Expression"
196
+
// "Named Class Expression"
197
197
// (в спецификации нет такого термина, но происходящее похоже на Named Function Expression)
198
198
let User = class *!*MyClass*/!* {
199
199
sayHi() {
@@ -334,4 +334,4 @@ class MyClass {
334
334
335
335
`MyClass` технически является функцией (той, которую мы определяем как `constructor`), в то время как методы, геттеры и сеттеры записываются в `MyClass.prototype`.
336
336
337
-
В следующих главах мы узнаем больше о классах, включая наследование и другие возможности.
337
+
В следующих главах мы узнаем больше о классах, включая наследование и другие возможности.
0 commit comments