Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ alert( user.ref.name ); // Error: Cannot read property 'name' of undefined

Это потому, что правила, которые определяют значение `this`, никак не смотрят на объявление объекта. Важен лишь момент вызова.

Здесь значение `this` внутри `makeUser()` равно `undefined`, потому что оно вызывается как функция, а не через "точечный" синтаксис как метод.
Здесь значение `this` внутри `makeUser()` равно `undefined`, потому что она вызывается как функция, а не через "точечный" синтаксис как метод.

Значение `this` одно для всей функции, блоки кода и объектные литералы на него не влияют.

Expand Down
6 changes: 3 additions & 3 deletions 1-js/04-object-basics/04-object-methods/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ user.sayHi(); // Привет!

Здесь мы просто использовали Function Expression (функциональное выражение), чтобы создать функцию приветствия, и присвоили её свойству `user.sayHi` нашего объекта.

Затем мы можем вызвать ee как `user.sayHi()`. Теперь пользователь может говорить!
Затем мы можем вызвать как `user.sayHi()`. Теперь пользователь может говорить!

Функцию, которая является свойством объекта, называют *методом* этого объекта.

Expand All @@ -49,7 +49,7 @@ let user = {
};

*!*
// сначала, объявляем
// сначала объявляем
function sayHi() {
alert("Привет!");
}
Expand Down Expand Up @@ -233,7 +233,7 @@ sayHi(); // undefined

Эта концепция вычисления `this` в момент исполнения имеет как свои плюсы, так и минусы. С одной стороны, функция может быть повторно использована в качестве метода у различных объектов (что повышает гибкость). С другой стороны, большая гибкость увеличивает вероятность ошибок.

Здесь наша позиция заключается не в том, чтобы судить, является ли это архитектурное решение в языке хорошим или плохим. Скоро мы поймем, как с этим работать, как получить выгоду и избежать проблем.
Здесь наша позиция заключается не в том, чтобы судить, является ли это архитектурное решение в языке хорошим или плохим. Скоро мы поймём, как с этим работать, как получить выгоду и избежать проблем.
```

## У стрелочных функций нет "this"
Expand Down