Skip to content

Commit b98826f

Browse files
committed
Fix minor errors
1 parent 46bcfce commit b98826f

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

  • 1-js/08-prototypes/03-native-prototypes

1-js/08-prototypes/03-native-prototypes/2-defer-to-prototype-extended/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
---
44

5-
# Добавьте декорирующий "defer()" функциям
5+
# Добавьте функциям декорирующий метод "defer()"
66

77
Добавьте всем функциям в прототип метод `defer(ms)`, который возвращает обёртку, откладывающую вызов функции на ms миллисекунд.
88

1-js/08-prototypes/03-native-prototypes/article.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ let arr = [1, 2, 3]
7676
alert(arr); // 1,2,3 <-- результат Array.prototype.toString
7777
```
7878

79-
Как мы видели раньше, у `Object.prototype` есть свой `toString`, но так как `Array.prototype` ближе в цепочке прототипов, то берётся именно вариант для массивов:
79+
Как мы видели раньше, у `Object.prototype` есть свой метод `toString`, но так как `Array.prototype` ближе в цепочке прототипов, то берётся именно вариант для массивов:
8080

8181

8282
![](native-prototypes-array-tostring.png)
@@ -101,9 +101,9 @@ alert(f.__proto__.__proto__ == Object.prototype); // true, наследует о
101101

102102
Как мы помним, они не объекты. Но если мы попытаемся получить доступ к их свойствам, тогда будет создан временный объект-обёртка с использованием встроенных конструкторов `String`, `Number`, `Boolean`, которые предоставят методы и после чего исчезнут.
103103

104-
Эти объекты создаются невидимо для нас, и большая часть движков оптимизирует этот процесс, но спецификация описывает это именно таким образом. Методы этих объектов также находятся в прототипах, доступных как `String.prototype`, `Number.prototype` и `Boolean.prototype`.
104+
Эти объекты создаются невидимо для нас, и большая часть движков оптимизирует этот процесс, но спецификация описывает это именно таким образом. Методы этих объектов также находятся в прототипах, доступных как `String.prototype`, `Number.prototype` и `Boolean.prototype`.
105105

106-
```warn header="Значения `null` и `undefined` имеют объектов-обёрток"
106+
```warn header="Значения `null` и `undefined` не имеют объектов-обёрток"
107107
Специальные значения `null` и `undefined` стоят особняком. У них нет, объектов-обёрток, так что методы и свойства им недоступны. Также у них нет соответствующих прототипов.
108108
```
109109
@@ -119,17 +119,17 @@ String.prototype.show = function() {
119119
"BOOM!".show(); // BOOM!
120120
```
121121

122-
В течение процесса разработки, у нас могут быть идеи о новых встроенных методах, которые нам хотелось бы иметь, и можем испытать искушение добавить их во встроенные прототипы. Но в целом, это плохая идея.
122+
В течение процесса разработки, у нас могут возникнуть идеи о новых встроенных методах, которые нам хотелось бы иметь, и можем испытать искушение добавить их во встроенные прототипы. Но в целом, это плохая идея.
123123

124124
```warn
125125
Прототипы глобальны, и очень легко получить конфликты. Если две библиотеки добавляют методы `String.prototype.show`, то одна из них перепишет другой.
126126
127127
Так что, в целом, изменение встроенных прототипов считается плохой идей.
128128
```
129129

130-
**В современном программировании есть только один случай, в котором одобряется изменение встроенных прототипов. Это создание полифилов.
130+
**В современном программировании есть только один случай, в котором одобряется изменение встроенных прототипов. Это создание полифилов.**
131131

132-
Полифил - это термин, который означает замену метода, существуего в спецификации JavaScript, но ещё не поддерживается текущим движком JavaScript.
132+
Полифил - это термин, который означает замену метода, который существует в спецификации JavaScript, но он ещё не поддерживается текущим движком JavaScript.
133133

134134
Тогда мы можем реализовать его сами и добавить его во встроенный прототип.
135135

@@ -159,7 +159,7 @@ alert( "La".repeat(3) ); // LaLaLa
159159

160160
Это когда мы берём метод из одного объекта и копируем его в другой.
161161

162-
Некоторые методы встроенных прототипов часто можно одолжить.
162+
Некоторые методы встроенных прототипов в большинстве случаев можно одолжить.
163163

164164
Например, если мы создаём объект похожий на массив, мы возможно захотим скопировать некоторые методы массива в этот объект.
165165

0 commit comments

Comments
 (0)