@TheCrossCarrier

Знак _ в стрелочных функциях. Можно ли использовать?

Когда хочу записать стрелочную функцию, которая не имеет аргументов, делаю так _ => { ... }
Насколько это принято делать?
1. Насколько я знаю, _ в JS является валидным именем переменной, такую переменную можно создать, обращаться к ней и т.д. Так получается что я просто передаю в ф-цию неиспользуемую переменную?? Тоже самое как сделал бы a => { ... } ??

2. Также я знаю, что _ используется для "пропуска" аргумента при вызове ф-ции, н-р func(_, i) В случаях когда нам нужно передать именно второй аргумент.

Насколько использование _ => { ... } принято в профессиональных кругах и является ли это корректным?
Или всё же лучше будет использовать () => { ... } ??


Спасибо ответившим!
  • Вопрос задан
  • 207 просмотров
Решения вопроса 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Насколько я знаю, _ в JS является валидным именем переменной, такую переменную можно создать, обращаться к ней и т.д. Так получается что я просто передаю в ф-цию неиспользуемую переменную?? Тоже самое как сделал бы a => { ... } ??
Именно так.

Лично я отдаю предпочтение () => { ... } по ряду причин:
  1. Нет неиспользуемых переменных. Нет ругательств со стороны линтеров. Для рантайма это мизерное, но всё таки, улучшение производительности
  2. Если говорить про TS, то тут вообще не рекомендуется синтаксис a => { ... }, только (a) => { ... }. И банально проще, когда у тебя весь код по разным проектам в одном стиле.
  3. Мне так больше нравится чисто эстетически.
Ответ написан
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Это будет unused variables.
В целом ничего страшного и вполне допустимо.
Но если вы перфекционист, инспекции IDE будут мозолить вам глаз.
Кроме того, эти инспекции засоряют рабочее пространство.
Можно выключить, но тогда реально неиспользованный код можно оставить незамеченным.
Поэтому я всё же предпочитаю скобки.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Вместо _ можно использовать о_0

const arrowInHead =o_0=> Marth.random;

...и код становится веселее!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы