2.4 KiB
2.4 KiB
title | localeTitle |
---|---|
Arrow Functions | Стрелочные функции |
Стрелочные функции - новый синтаксис ES6 для написания выражений функций JavaScript. Более короткий синтаксис экономит время, а также упрощает область действия.
Что такое стрелочная функция?
Стрелочные функции — более краткий синтаксис для написания функций с использованием стрелки ( =>
).
Основной синтаксис
Ниже приведен базовый пример стрелочной функции:
// синтаксис в ES5
var multiply = function(x, y) {
return x * y;
};
// стрелочные функции в ES6
var multiply = (x, y) => { return x * y; };
// или еще проще
var multiply = (x, y) => x * y;
Вам больше не нужны function
и return
, или даже фигурные скобки.
Упрощение this
Стрелочные функции, новые функции, определяют собственное this
значение. Чтобы использовать this
в традиционном выражении функции, мы должны написать обходное решение так:
// синтаксис ES5
function Person() {
// мы привязываем `this` к переменной `self`, которую можно использовать позже
var self = this;
self.age = 0;
setInterval(function growUp() {
// `self` ссылается на нужный нам объект
self.age++;
}, 1000);
}
Стрелочная функция не определяет своего собственного значения this
, а наследует this
от родительской функции:
// синтаксис ES6
function Person(){
this.age = 0;
setInterval(() => {
// `this` теперь ссылается на объект Person, отлично!
this.age++;
}, 1000);
}
var p = new Person();