Skip to content

Commit e1b6b54

Browse files
committed
Minor fixes
1 parent 27520f2 commit e1b6b54

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

1-js/09-classes/06-instanceof/1-strange-instanceof/solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Да, действительно выглядит странно.
1+
Да, действительно, выглядит странно.
22

3-
Но `instanceof` не учитывает саму функцию, напротив -- только `prototype`, который оператор проверяет на совпадения в прототипной цепочке.
3+
Но `instanceof` не учитывает саму функцию при проверке, напротив -- только `prototype`, который проверяется на совпадения в прототипной цепочке.
44

55
И в данном примере `a.__proto__ == B.prototype`, так что `instanceof` возвращает `true`.
66

1-js/09-classes/06-instanceof/1-strange-instanceof/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ importance: 5
44

55
# Странный instanceof
66

7-
Почему `instanceof` внизу возвращает `true`? Мы можем легко увидеть, что `a` не создан с помощью `B()`.
7+
Почему `instanceof` в примере ниже возвращает `true`? Мы можем легко увидеть, что `a` не создан с помощью `B()`.
88

99
```js run
1010
function A() {}

1-js/09-classes/06-instanceof/article.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
obj instanceof Class
1212
```
1313

14-
Оператор вернёт `true`, если `obj` принадлежит классу `Class` (или класс наследует от него).
14+
Оператор вернёт `true`, если `obj` принадлежит классу `Class` (или класс наследуется от него).
1515

1616
Например:
1717

@@ -44,7 +44,7 @@ alert( arr instanceof Array ); // true
4444
alert( arr instanceof Object ); // true
4545
```
4646

47-
Пожалуйста, обратите внимание, что `arr` также принадлежит классу `Object`. Это потому, что `Array` наследуется от `Object`.
47+
Пожалуйста, обратите внимание, что `arr` также принадлежит классу `Object`, потому что `Array` наследуется от `Object`.
4848

4949
Оператор `instanceof` просматривает цепочку прототипов для проверки, и это также свободно настраивается с помощью статичного метода `Symbol.hasInstance`.
5050

@@ -94,7 +94,7 @@ alert( arr instanceof Object ); // true
9494

9595
![](instanceof.png)
9696

97-
Кстати, есть метод [objA.isPrototypeOf(objB)], которые возвращает `true`, если объект `objA` есть где-то в прототипной цепочки объекта `objB`. Так что `obj instanceof Class` можно перефразировать как `Class.prototype.isPrototypeOf(obj)`.
97+
Кстати, есть метод [objA.isPrototypeOf(objB)], которые возвращает `true`, если объект `objA` есть где-то в прототипной цепочке объекта `objB`. Так что `obj instanceof Class` можно перефразировать как `Class.prototype.isPrototypeOf(obj)`.
9898

9999
Забавно, но сам конструктор `Class` не участвует в процессе проверки! Важна только цепочка прототипов `Class.prototype`.
100100

@@ -206,6 +206,6 @@ alert( {}.toString.call(new XMLHttpRequest()) ); // [object XMLHttpRequest]
206206
| `{}.toString` | примитивы, встроенные объекты, объекты с `Symbol.toStringTag` | строка |
207207
| `instanceof` | объекты | true/false |
208208
209-
Как мы можем видеть, технически `{}.toString` "более продвинут", чем `typeof`.
209+
Как мы можем видеть, технически `{}.toString` "более продвинут", чем `typeof`.
210210
211211
И оператор `instanceof` действительно сияет, когда мы работаем с иерархией классов и хотим делать проверки с учётом наследования.

0 commit comments

Comments
 (0)