Стрелочные функции и this
Довольно часто для доступа к this из глобальной области видимости внутри функции обратного вызова нам приходилось писать так:
А хотелось, конечно, же так
И вот теперь с помощью нововведения в es6 стрелочных функций (arrow functions) это реально!
Фактически конструкция () => заменяет строчку self = this.
Впрочем, нам это не всегда нужно, поэтому стрелочные функции не стоит использовать везде, ради их укороченного вида по сравнению с конструкцией function().
Например, в случае объекта:
Мы так не снимемся с якоря. Так как внутри метода объекта this должно ссылаться на объект, а в случае стрелочной функции происходит подмена — ссылаемся на глобальный объект.
Также в некоторых случаях синтаксис стрелочных функций может мешать чтению кода.
Хотите быть в курсе новых статей?
❦