Skip to content

Commit 4b97150

Browse files
author
Nick Plekhanov
committed
ES2015 Classes: Fixed typos
Поправлены мелкие грамматические ошибки по тексту
1 parent 5f515dd commit 4b97150

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

1-js/10-es-modern/7-es-class/article.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ let user = new User("Вася");
3838
user.sayHi(); // Вася
3939
```
4040

41-
Функция `constructor` запускается при создании `new User`, остальные методы -- записываются в `User.prototype`.
41+
Функция `constructor` запускается при создании `new User`, остальные методы записываются в `User.prototype`.
4242

4343
Это объявление примерно аналогично такому:
4444

@@ -52,26 +52,26 @@ User.prototype.sayHi = function() {
5252
};
5353
```
5454

55-
В обоих случаях `new User` будет создавать объекты. Метод `sayHi` -- также в обоих случаях находится в прототипе.
55+
В обоих случаях `new User` будет создавать объекты. Метод `sayHi` также в обоих случаях находится в прототипе.
5656

5757
Но при объявлении через `class` есть и ряд отличий:
5858

5959
<ul>
6060
<li>`User` нельзя вызывать без `new`, будет ошибка.</li>
61-
<li>Объявление класса с точки зрения области видимости ведёт себя как `let`. В частности, оно видно только текущем в блоке и только в коде, который находится ниже объявления (Function Declaration видно и до объявления).</li>
61+
<li>Объявление класса с точки зрения области видимости ведёт себя как `let`. В частности, оно видно только в текущем блоке и только в коде, который находится ниже объявления (Function Declaration видно и до объявления).</li>
6262
</ul>
6363

6464
Методы, объявленные внутри `class`, также имеют ряд особенностей:
6565

6666
<ul>
6767
<li>Метод `sayHi` является именно методом, то есть имеет доступ к `super`.</li>
68-
<li>Все методы класса работают в режиме `use strict`, даже если он не указан.</li>
68+
<li>Все методы класса работают в строгом режиме `use strict`, даже если он не указан.</li>
6969
<li>Все методы класса не перечислимы. То есть в цикле `for..in` по объекту их не будет.</li>
7070
</ul>
7171

7272
## Class Expression
7373

74-
Так же, как и Function Expression, классы можно задавать "инлайн", в любом выражении и внутри вызова функции.
74+
Также, как и Function Expression, классы можно задавать "инлайн", в любом выражении и внутри вызова функции.
7575

7676
Это называется Class Expression:
7777

@@ -103,7 +103,7 @@ new User(); // ошибка
103103
*/!*
104104
```
105105

106-
В примере выше имя `User` будет доступно только внутри класса и может быть использовано, например для создания новых объектов данного типа.
106+
В примере выше имя `User` будет доступно только внутри класса и может быть использовано, например, для создания новых объектов данного типа.
107107

108108
Наиболее очевидная область применения этой возможности -- создание вспомогательного класса прямо при вызове функции.
109109

@@ -192,7 +192,7 @@ user.TEST(); // PASSED!
192192

193193
Конечно, никто не мешает после объявления класса в прототип дописать подобные свойства, однако предполагается, что в прототипе должны быть только методы.
194194

195-
Если свойство-значение, всё же, необходимо, то, можно создать геттер, который будет нужное значение возвращать.
195+
Если свойство-значение, всё же, необходимо, то можно создать геттер, который будет нужное значение возвращать.
196196
[/warn]
197197

198198

@@ -254,7 +254,7 @@ class Child extends Parent {
254254
}
255255
```
256256

257-
Посмотрим, как это выглядит на практике. В примере ниже объявлено два класса: `Animal` и наследующий от него `Rabbit`:
257+
Посмотрим как это выглядит на практике. В примере ниже объявлено два класса: `Animal` и наследующий от него `Rabbit`:
258258

259259
```js
260260
//+ run
@@ -300,11 +300,11 @@ alert( Rabbit.prototype.__proto__ == Animal.prototype ); // true
300300

301301
Как видно из примера выше, методы родителя (`walk`) можно переопределить в наследнике. При этом для обращения к родительскому методу используют `super.walk()`.
302302

303-
Немного особая история -- с конструктором.
303+
С конструктором -- немного особая история.
304304

305305
Конструктор `constructor` родителя наследуется автоматически. То есть, если в потомке не указан свой `constructor`, то используется родительский. В примере выше `Rabbit`, таким образом, использует `constructor` от `Animal`.
306306

307-
Если же у потомка свой `constructor`, то чтобы в нём вызвать конструктор родителя -- используется синтаксис `super()` с аргументами для родителя.
307+
Если же у потомка свой `constructor`, то, чтобы в нём вызвать конструктор родителя -- используется синтаксис `super()` с аргументами для родителя.
308308

309309
Например, вызовем конструктор `Animal` в `Rabbit`:
310310

0 commit comments

Comments
 (0)