Функция стрелки без фигурных скобок возвращает выражение функции. Пример:
() => 'Hello world';
будет делать то же самое, что и
function() {
return 'Hello world';
}
Если вы используете фигурные скобки, вы можете добавить несколько операторов. Пример:
() => {
const str = 'Hello world';
return str;
}
будет делать то же самое, что и:
function() {
const str = 'Hello world';
return str;
}
Подробнее см. MDN документы .
Некоторые небольшие дополнительные заметки:
Из-за синтаксических правил, когда вы хотите вернуть объект в функции стрелки, вам придется заключить его в фигурные скобки:
() => ({
key: 'value',
another_key: 'another_value'
});
Основные различия между function()
и () => ...
заключаются в том, что функции стрелок не имеют привязок к некоторым ключевым словам (например, this
), а функции стрелок не имеют прототип и не могут быть используется в качестве конструкторов.