Стрелочные функции и this

Довольно часто для доступа к this из глобальной области видимости внутри функции обратного вызова нам приходилось писать так:

А хотелось, конечно, же так

И вот теперь с помощью нововведения в es6 стрелочных функций (arrow functions) это реально!

Фактически конструкция () => заменяет строчку self = this.

Впрочем, нам это не всегда нужно, поэтому стрелочные функции не стоит использовать везде, ради их укороченного вида по сравнению с конструкцией function().

Например, в случае объекта:

Мы так не снимемся с якоря. Так как внутри метода объекта this должно ссылаться на объект, а в случае стрелочной функции происходит подмена — ссылаемся на глобальный объект.

Также в некоторых случаях синтаксис стрелочных функций может мешать чтению кода.

Хотите быть в курсе новых статей?