В другом месте возник спор по терминологии именованной функции в CoffeeScript. В частности, кто-то упоминал что-то вроде этого:
foo = ->
console.log("bar")
как именованная функция. Но было высказано возражение, что все в CoffeeScript является анонимными функциями и не имеет именованных функций. Это, безусловно, верно, у CoffeeScript есть только функциональные выражения, которые затем можно сохранить в переменной. Но я не думаю, что это означает, что неправильно называть это именованной функцией.
На мой взгляд, это именованная функция, потому что ей присвоено имя. Правда, это не именованная функция так же, как некоторые другие языки имеют именованные функции, но я думаю, что она достаточно близка, чтобы не называть ее именованной функцией. Настаивать на другом просто кажется придиркой.
Могу ли я пойти на ланч, думая, что настаивать на том, что это не именованная функция, просто придираться?
foo = ->
это просто старая функция, а class Foo
конструктор. Я не вижу причин, почему foo = ->
следует строго называть их анонимными.