What do you call a `function` function?

Eli Perelman eli at eliperelman.com
Sat Apr 7 18:20:23 UTC 2018

I've always referenced them as:

Function declarations:

function a() {}

Function expression:

const a = function() {}

Named function expression:

const b = function a() {}

Arrow function:

const a = () => {}

Not sure it's 100% semantic or descriptive, but it's how I've

Eli Perelman

On Sat, Apr 7, 2018, 12:56 PM T.J. Crowder <tj.crowder at farsightsoftware.com>

> Bit of a silly one, but begging the list's indulgence:
> I routinely explain various JavaScript topics to learners, including arrow
> functions, method syntax, etc. When I want to contrast "arrow function"
> (for instance) with functions defined with `function`, it trips me up, and
> often I end up saying/writing something awful like "`function` function".
> I've considered using "normal function" instead, but arrow functions are
> normal in today's world, as are functions defined with method syntax
> (although I'd usually call them methods), so it's...unsatisfying.
> But `function` function is just so clumsy. And a pedant (none of those
> here, surely!) could argue the definition (are generators `function`
> functions? they're defined with `function` [when you're not using generator
> method syntax], it just has a `*` after it).
> I've also considered "old-style function," but `function` functions still
> have a place in today's JavaScript, just not as prominent a place as they
> used to.
> A recent post to the list used "conventional function," but it may well
> have the same problems "normal function" does.
> My goal is to be clear, and *reasonably* accurate, without being overly
> pedantic.
> Any ideas? Should I just stop worrying and learn to love "normal
> function"? Is there a better term?
> Thanks in advance, folks.
> -- T.J. Crowder
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20180407/a1467aee/attachment.html>

More information about the es-discuss mailing list