Это? const foo = function () {};
Вообще-то, лямбда, это не только синтаксический сахар - писать покороче лексему function, но и попытка разработчиков JS исправить контекст this в новой версии стандарта языка.
В тех случаях, когда вам нужен this ожидаемый с точки зрения ООП, а не контекста DOM-дерева, вам придется применять лямбду.
alexalexes, да, так вроде немного лучше (понятнее для человека).
В идеале что-то типа такого: const function foo() {
где название foo и параметры находятся рядом, аналогично записи математических функций типа f(x), g(x).
WbICHA,
Естественный язык используется для общения людей.
Поэтому любой язык программирования не является таковым по определению. Однако некоторые ЯП ближе к естественным, а некоторые - дальше. Чётких критериев, конечно, нет. Но краткая запись далеко не всегда делает язык понятнее.
Можно, к примеру, вместо function ввести в язык слово func или вообще просто f, сделав это слово зарезервированным (нельзя будет объявить переменную f). Будет более кратко, но понятнее ли? Вопрос спорный.
Однако некоторые ЯП ближе к естественным, а некоторые - дальше
Нет. Тут просто работает синдром утёнка – с какого языка начал изучать программирование, тот и ближе к "естественному". Вернее это на начальном этапе, а после таким "правильным" языком становится тот, которым ты сильнее всего увлёкся.
Для меня тоже в других ЯП есть "неестественные" решения, которые мне не нравятся / к которым я не привык, но это не делает эти языки неправильными.
В общем, если ты изучаешь язык чисто для себя, то тут уже как хочешь пиши, а если ты учишь его для работы, то тут уж извини, следуй общепринятым стандартам, иначе никак.
Можно, к примеру, вместо function ввести в язык слово func или вообще просто f, сделав это слово зарезервированным (нельзя будет объявить переменную f). Будет более кратко, но понятнее ли? Вопрос спорный.
Malkolm, более короткий - да, возможно. Красивый там, где это уместно, где функции используются в качестве параметров - тоже да. Но вот понятность, имхо, периодически страдает, особенно в запутанных примерах типа такого: const a = b => c => b+c;