On 4/4/2013 12:47 PM, Allen Wirfs-Brock wrote:
I would argue that the best name for the method is "add" while the path/origin of it might be "Set#add". They are orthogonal in my opinion, and "name" is much simpler to specify.

This would seem to argue against prepending "static". Also it wouldn't make much sense to do that if we also didn't consider, for example Date.parse, to be "static".

What about function that are defined like:

Date.myParse = function () {...}.

This may not be particularly any harder to formally specify than other LHS forms (and the other are not necessarily all that easy). If you have concrete ideas on how to actually write the specification using concepts from the ES6 spec. methodologies, feel free to share...

This is why I avoided adding "static " to the name. It makes sense with accessors to add "[gs]et " to the name but much less so for static. I suppose that partially depends on the way that people end up using statics though. In current usage, "static" functions attached to constructors are generally done so for namespacing only. It's possible we may see a rise in the use of |this| sensitive static functions such as `Array.of` and `Array.from`, and for these the "staticness" of the function actually matters. But since we rarely see that in current usage I don't think we can make an assumption that it will change much in the future.

Finally, a minor point is that you failed to mention GeneratorFunction declarations and expressions, but the intent for those is pretty obvious.
Yeah, I forgot that they are separate; I'll add them to the wiki page. But yeah, obviously they follow the behavior of FunctionExpression/Declaration.
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to