Skip to content

Commit a19ec59

Browse files
authored
Update solution.md
1 parent 7d9e41b commit a19ec59

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

  • 1-js/04-object-basics/04-object-methods/4-object-property-this

1-js/04-object-basics/04-object-methods/4-object-property-this/solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ alert( user.ref.name ); // Error: Cannot read property 'name' of undefined
2020

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

23-
Таким образом, при создании объекта `ref: this` берет текущее значение `this` функции `makeUser()`.
23+
Таким образом, при создании объекта `ref: this` берёт текущее значение `this` функции `makeUser()`.
2424

2525
Тут противоположный случай:
2626

@@ -41,6 +41,6 @@ let user = makeUser();
4141
alert( user.ref().name ); // Джон
4242
```
4343

44-
Здесь тоже `makeUser()` вызывается как функция, не как метод. Но теперь это работает, потому что свойство `ref` создаваемого объекта является методом. Это свойство ссылается на код функции, а значит значение `this` на этапе создание объекта не вычисляется - оно будет вычислено только при вызове метода. Когда же происходит вызов метода `user.ref()` - значение `this` внутри метода вычисляется и ссылается на объект, который идет перед точкой `.`.
44+
Здесь тоже `makeUser()` вызывается как функция, не как метод. Но теперь это работает, потому что свойство `ref` создаваемого объекта является методом. Это свойство ссылается на код функции, а значит значение `this` на этапе создание объекта не вычисляется - оно будет вычислено только при вызове метода. Когда же происходит вызов метода `user.ref()` - значение `this` внутри метода вычисляется и ссылается на объект, который идёт перед точкой `.`.
4545

4646

0 commit comments

Comments
 (0)