Skip to content

Commit 073df45

Browse files
authored
Update article.md
1 parent 739ec8a commit 073df45

File tree

1 file changed

+7
-7
lines changed
  • 1-js/04-object-basics/06-constructor-new

1 file changed

+7
-7
lines changed

1-js/04-object-basics/06-constructor-new/article.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,16 @@ alert(john.name); // John
129129

130130
Такой подход иногда используется в библиотеках, чтобы сделать синтаксис более гибким. Так чтобы люди могли вызывать функцию с "new" или без него, и она все ещё могла работать.
131131

132-
Впрочем вероятно, это не очень хорошая практика использовать этот трюк везде, так как опуск `new` делает немного менее очевидным то, что происходит. С помощью `new` мы все знаем, что создаётся новый объект.
132+
Впрочем вероятно, это не очень хорошая практика использовать этот трюк везде, так как опуск `new` делает немного менее очевидным то, что происходит. С `new` мы все понимаем, что создаётся новый объект.
133133

134-
## Возврат значения из конструктора return
134+
## Возврат значения из конструктора, return
135135

136136
Обычно конструкторы не имеют `return`. Их задача - записать все необходимое в `this`, и это автоматически становится результатом.
137137

138138
Но если `return` всё же есть, то применяется простое правило:
139139

140-
- При вызове `return` с объектом, вместо `this` возвращается объект.
141-
- При вызове `return` с примитивным значением, оно игнорируется.
140+
- При вызове `return` с объектом, вместо `this` вернётся объект.
141+
- При вызове `return` с примитивным значением, оно проигнорируется.
142142

143143
Другими словами, `return` с объектом возвращает этот объект, во всех остальных случаях возвращается `this`.
144144

@@ -179,12 +179,12 @@ let user = new User; // <-- без скобок
179179
let user = new User();
180180
```
181181
182-
Пропуск здесь не считается "хорошим стилем", но такой синтаксис разрешён спецификацией.
182+
Пропуск скобок здесь не считается "хорошим стилем", но просто чтобы вы знали, такой синтаксис разрешён спецификацией.
183183
````
184184

185185
## Создание методов в конструкторе
186186

187-
Использование функций конструктора для создания объектов обеспечивает большую гибкость. Функции-конструкторы могут иметь параметры, определяющие, как создавать объект и что в него помещать.
187+
Использование конструкторов для создания объектов даёт большую гибкость. Функции-конструкторы могут иметь параметры, определяющие, как создавать объект и что в него помещать.
188188

189189
Конечно, мы можем добавить к `this` не только свойства, но и методы.
190190

@@ -213,7 +213,7 @@ john = {
213213
*/
214214
```
215215

216-
Для создания сложных объектов существует более продвинутый синтаксис, [классы](info:classes), который мы рассмотрим позже.
216+
Для создания сложных объектов существует более продвинутый синтаксис - [классы](info:classes), который мы рассмотрим позже.
217217

218218
## Итого
219219

0 commit comments

Comments
 (0)