Skip to content

Commit c70077b

Browse files
committed
minor
1 parent 1561e8b commit c70077b

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

1-js/10-es-modern/4-es-function/article.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,15 @@ group.showList();
382382
Отсутствие у функции-стрелки "своего `this`" влечёт за собой естественное ограничение: такие функции нельзя использовать в качестве конструктора, то есть нельзя вызывать через `new`.
383383
[/warn]
384384

385+
[smart header="=> это не то же самое, что `.bind(this)`"]
386+
Есть тонкое различие между функцией стрелкой `=>` и обычной функцией, у которй вызван `.bind(this)`:
387+
388+
<ul>
389+
<li>Вызовом `.bind(this)` мы передаём текущий `this`, привязывая его к функции.</li>
390+
<li>При `=>` привязки не происходит, так как функция стрелка вообще не имеет контекста `this`. Поиск `this` в ней осуществляется так же, как и поиск обычной переменной, то есть, выше в замыкании. До появления стандарта ES-2015 такое было невозможно.</li>
391+
</ul>
392+
[/smart]
393+
385394
## Функции-стрелки не имеют своего arguments
386395

387396
В качестве `arguments` используются аргументы внешней "обычной" функции.

0 commit comments

Comments
 (0)