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/04-object-basics/06-constructor-new/article.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,16 +129,16 @@ alert(john.name); // John
129
129
130
130
Такой подход иногда используется в библиотеках, чтобы сделать синтаксис более гибким. Так чтобы люди могли вызывать функцию с "new" или без него, и она все ещё могла работать.
131
131
132
-
Впрочем вероятно, это не очень хорошая практика использовать этот трюк везде, так как опуск `new` делает немного менее очевидным то, что происходит. С помощью `new` мы все знаем, что создаётся новый объект.
132
+
Впрочем вероятно, это не очень хорошая практика использовать этот трюк везде, так как опуск `new` делает немного менее очевидным то, что происходит. С `new` мы все понимаем, что создаётся новый объект.
133
133
134
-
## Возврат значения из конструктора return
134
+
## Возврат значения из конструктора, return
135
135
136
136
Обычно конструкторы не имеют `return`. Их задача - записать все необходимое в `this`, и это автоматически становится результатом.
137
137
138
138
Но если `return` всё же есть, то применяется простое правило:
139
139
140
-
- При вызове `return` с объектом, вместо `this`возвращается объект.
141
-
- При вызове `return` с примитивным значением, оно игнорируется.
140
+
- При вызове `return` с объектом, вместо `this`вернётся объект.
141
+
- При вызове `return` с примитивным значением, оно проигнорируется.
142
142
143
143
Другими словами, `return` с объектом возвращает этот объект, во всех остальных случаях возвращается `this`.
144
144
@@ -179,12 +179,12 @@ let user = new User; // <-- без скобок
179
179
let user = new User();
180
180
```
181
181
182
-
Пропуск здесь не считается "хорошим стилем", но такой синтаксис разрешён спецификацией.
182
+
Пропуск скобок здесь не считается "хорошим стилем", но просто чтобы вы знали, такой синтаксис разрешён спецификацией.
183
183
````
184
184
185
185
## Создание методов в конструкторе
186
186
187
-
Использование функций конструктора для создания объектов обеспечивает большую гибкость. Функции-конструкторы могут иметь параметры, определяющие, как создавать объект и что в него помещать.
187
+
Использование конструкторов для создания объектов даёт большую гибкость. Функции-конструкторы могут иметь параметры, определяющие, как создавать объект и что в него помещать.
188
188
189
189
Конечно, мы можем добавить к `this` не только свойства, но и методы.
190
190
@@ -213,7 +213,7 @@ john = {
213
213
*/
214
214
```
215
215
216
-
Для создания сложных объектов существует более продвинутый синтаксис,[классы](info:classes), который мы рассмотрим позже.
216
+
Для создания сложных объектов существует более продвинутый синтаксис -[классы](info:classes), который мы рассмотрим позже.
0 commit comments