Re: How to specify an object that can be mutable or immutable

On Wed, Sep 25, 2013 at 11:23 AM, Tab Atkins Jr. <jackalmage@gmail.com>wrote:

> On Wed, Sep 25, 2013 at 8:17 AM, Anne van Kesteren <annevk@annevk.nl>
> wrote:
> > On Wed, Sep 25, 2013 at 10:58 AM, Tab Atkins Jr. <jackalmage@gmail.com>
> wrote:
> >> They needed *some* common prefix to avoid clashing with userland code,
> >> and DOM seemed to be a decent one that covered roughly what all they'd
> >> be used for.
> >
> > They do? We've been trying to stay clear of using DOM for anything new
> > and on top of that we haven't used prefixes new things generally, such
> > as Path or ImageData.
>
> Note that Path is garnering compat issues *immediately* upon being
> introduced in betas.  It's just too simple of a name, and too likely
> to be squatted by user code or libraries.  The same is almost
> certainly going to be true of Point, Rect, Quad, and Matrix.
>
> ImageData doesn't have quite that issue.
>
> > The new JavaScript global-exposed objects
> > System, Symbol, etc. also will be introduced as such.
>
> If they *can* do so.  Those names are also simple enough that they
> risk compat issues.
>

No, they will be. As Luke pointed out during last week's meeting[0], all
built-in objects are configurable, so user land code can easily pave them
over. Issues arise when new code that wants to use new built-ins is mixed
with code that defines objects by the same name—in which case the existing
code will have to be updated. Either way, the current consensus is holding
on those names being exposed on the Global object.

Rick

[0]
https://github.com/rwaldron/tc39-notes/blob/master/es6/2013-09/sept-19.md#newly-added-to-global-object

Received on Wednesday, 25 September 2013 18:51:09 UTC