New ES6 spec draft (Rev 22, Jan 20, 2014)

Kevin Smith zenparsing at
Tue Jan 21 10:04:33 PST 2014

> First, there are plenty of standard bindings on the global object that
> are not constructors and yet are capitalized -- `Math` is a prime
> example here.

Math (and Reflect, JSON, etc) are functioning not as objects with
per-instance state, but as namespaces.  Infinity is a value object, but
doesn't carry per-instance state like a loader does.

> Fifth, the binding for `System` is not a general mechanism for
> accessing loaders -- it is a binding for a particular one, the one
> provided by the host environment. it shouldn't be confused with such a
> general mechanism (which, as I say above, would be a bad idea anyway).
Granted.  My point was just that it's awkward to have an object which is an
instance of a provided type, carrying per-instance state, denoted by a
capitalized global property name.  And that "System" as a name (by itself)
doesn't describe the concept.

Just my opinion - no big deal.  The module design is very lovely. : )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list