на
learn.javascript.ru сказано:
Как правило, если нам понадобилась функция, в первую очередь нужно рассматривать синтаксис Function Declaration, который мы использовали до этого. Он даёт нам больше свободы в том, как мы можем организовывать код. Функции, объявленные таким образом, можно вызывать до их объявления.
Но в React компонентах и тп, я все чаще и чаще вижу
Function Expression:
const Header = () => <div>Header</div>;
export default Header;
В общем я очень много где встречаю именно функциональные выражения, стрелочные функции, а не декларированные функции.
Если все собирает вебпак, с импортами и тп, в любом случае функциональное выражение будет доступно на момент вызова:
const mySum = (x, y) => x+y;
export default mySum;
использую:
import mySum from './mySum';
console.log( mySum(10, 5) );
Есть какие-то условия, правила, указывающие где и что использовать ?
Кроме очевидных мест, что например стрелочные функции не имеют собственного контекста и тп.
На сколько я понял, по сути единственная разница - видимость ф-ии, но при импортах/экспортах это не работает, тк импорт идет явно раньше использования.
Подскажите, пожалуйста, запутался уже