**Wow**, thanks everyone for all the input!!

I woke up this morning with "classic function" in my head, and immediately
worried about confusing people (particularly those for whom English is not
their native tongue) with `class`, since it creates a function (the
constructor).

So I'm currently leaning toward Raul-Sebastian's "traditional function"
(thank you!) since it largely conveys the same meaning as "classic" without
the `class` problem.

So taking a page from Darien's magnum opus :-) I get:

* Traditional function (`function` declaration, `function` expression)
* Constructor (for both `class` and `function` when the intent is to create
a constructor; draw a distinction when necessary)
* Method (some vagueness here, we used to use "method" to refer to
traditional functions assigned as object properties, but of course, we got
methods with discernable differences -- can't be constructors, can use
`super` -- in ES2015)
* Arrow function
* `async` function
* `async` arrow function
* Generator function
* `async` generator function

I think this mostly conveys useful meaning, without getting too pedantic.

Again, thank you everyone for the very useful responses!

-- T.J. Crowder
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to