Прежде чем вы перейдете к замыканиям, методам массива и другим сложным темам, вы должны убедиться, что ваш код не становится слишком запутанным. До этого момента вы, возможно, использовали традиционные функциональные выражения, теперь пришло время подняться до уровня жирной стрелки.
Для чего нужны функции Fat Arrow?
Функции жирных стрелок позволяют навести порядок в коде — вы можете сказать то же самое более простым способом. С помощью толстой стрелки вы можете создавать однострочные функции, вырезая фигурные скобки {} и операторы возврата. Эта повышенная читабельность становится особенно полезной, когда у вас есть функция внутри функции.
Однако предупрежу — поначалу толстые стрелочные функции не будут казаться более «читабельными», чем то, к чему вы привыкли… потому что у вас еще нет опыта работы с ними! Но подождите немного, и вы настолько привыкнете к толстым стрелочным функциям, что, вероятно, забудете синтаксис, который использовали раньше!
Итак, как выглядит функция жирной стрелки?
Давайте познакомимся с функцией жирной стрелки немного лучше!
Ниже вы можете увидеть, как функция жирной стрелки соответствует тем, которые вы уже использовали.
Синтаксис объявления функции и выражения функции очень похож, с различиями в том, куда идет ключевое слово функции. Синтаксис Fat Arrow избавляет нас от необходимости использовать ключевое слово function, потому что при использовании =›JavaScript уже знает, что мы хотим создать функцию. Вот наша та же функция, но в одну строку:
let mySweets = ((string)=> console.log('I want' + string + 'with icecream!'))
Довольно аккуратно, правда?
Вы можете еще больше обрезать жир, избавившись от паратеза, окружающего параметры:
let mySweets = string => console.log('I want' + string + 'with icecream!'))
Функции жирных стрелок анонимны
Еще одна важная вещь, о которой следует помнить, это то, что эти функции являются анонимными. Раньше мы объявляли функцию рядом с ее именем, а здесь тоже нет необходимости.
P.S. если попробовать использовать функции из примера, то они не проходят. Почему это? ˙ǝlqɐᴉɹɐʌ ɐ sᴉ ǝᴉd sʞuᴉɥʇ ʇdᴉɹɔSɐʌɐſ os ‘sǝʇonb uᴉ ʇou sᴉ ǝᴉd pɹoʍ ǝɥ┴