Честно говоря, всегда использовать let / const BS - это 100% чепуха ... но то же самое и с этой одержимостью областью видимости на уровне блоков от тех же самых знающих людей, которые настаивают на том, чтобы любая функция длиной более трех строк была разбита на более мелкие подфункции.

Если вы только что открыли функцию, LET не имеет смысла. Поскольку CONST не являются фактическими константами / определениями, CONST не служит законной цели ... и если ваш код истекает кровью, решение состоит в том, чтобы остановить кровотечение из области, а не слепо надеяться, что LET справится с этим за вас.

Это все просто баловство с людьми с плохими привычками и худшими практиками!

... и действительно, если вы собираетесь сгруппировать их вместе, разделите их запятыми вместо того, чтобы использовать полный Gungan, говоря var / let / const на каждом из них, взорванном Джо!

Смехотворно, насколько этого идиотизма можно было бы избежать, если бы люди просто понимали область действия функции, использовали ее и, возможно, практиковали прямое объявление с подробными соглашениями об именах.

Но нет, у нас есть все эти недоумки, идиоты и дураки, которые, кажется, творит излишне загадочную чушь вроде стрелочных функций, обратных вызовов для всего, 200 строк функций для того, что должно быть двадцатью строками кода в одной работе по переворачиванию одной функции, и практики мусорного кода например, объявлять переменную во время использования, все каким-то волшебным образом делает код яснее, проще или лучше.

Это не так.

Просто посмотрите на абсолютный chazerei в этом последнем примере с функцией для НИЧЕГО, такой как getGreeting, нелогичность выполнения get, прежде чем вы даже узнаете, нужно ли оно вам, глупое использование CONST и раздражающе загадочную стрелочную функцию для воспроизведения того, что нормальная функция в основном предоставляет из коробки, и дурацкая бессмысленная дерьмо строки шаблона обратного тика с его отсутствием ясности кода и бессмысленной низкой производительностью.

Все для работы:

const greeting = 'hi';
function greet(name) {
  return name ? greeting + ' ' + name : '';
}

… И эта константа, вероятно, могла бы быть простой переменной, если изолируешь область видимости с помощью IIFE. Следовательно, эта чушь с «включением блоков» является бессмысленной избыточностью, которая только бросает более сложный код и запутанные методы в решение, не являющееся проблемой.

Это такой идиотизм, поэтому мы видим медленно загружающиеся веб-сайты, которые разряжают мобильные батареи, которые необходимо выбросить в мусорную корзину и начинать с нуля. Я вижу это каждый раз, когда беру нового клиента с проблемами доступности или эффективности.