An anderer Stelle ist ein Streit über die Terminologie einer benannten Funktion in CoffeeScript aufgetreten. Insbesondere hat sich jemand auf so etwas bezogen:
foo = ->
console.log("bar")
als benannte Funktion. Es wurde jedoch beanstandet, dass alles in CoffeeScript anonyme Funktionen sind und es keine benannten Funktionen gibt. Dies ist sicherlich richtig, CoffeeScript hat nur Funktionsausdrücke, die dann in einer Variablen gespeichert werden können. Aber ich denke nicht, dass es falsch ist, dies eine benannte Funktion zu nennen.
Aus meiner Sicht ist es eine benannte Funktion, weil es eine Funktion ist, der ein Name gegeben wurde. Es ist zwar keine benannte Funktion, so wie einige andere Sprachen benannte Funktionen haben, aber ich denke, es ist nah genug, dass es nicht unangemessen ist, es eine benannte Funktion zu nennen. Anders zu bestehen scheint nur ein Trottel zu sein.
Bin ich zum Mittagessen unterwegs und denke, dass das Beharren darauf, dass dies keine benannte Funktion ist, nur ein Trottel ist?
foo = ->
ist nur eine einfache alte Funktion, während class Foo
es sich um einen Konstruktor handelt. Ich sehe keinen Grund, warum foo = ->
streng anonym genannt werden sollte.