# proposal extensions (Was: Re: Sep 26 meeting notes)

Sean Eagan seaneagan1 at gmail.com
Thu Sep 29 13:03:17 PDT 2011


On Mon, Sep 26, 2011 at 7:27 PM, Waldemar Horwat <waldemar at google.com> wrote:
> Reached consensus on the following # proposal:
> # before an object literal seals the object
> # before a propoerty makes that property nonconfigurable and nonwritable.
> All method properties are nonenumerable.
> All value properties are enumerable.

I like it!  Here are some extensions to consider:

# to seal, ## to freeze:

##{
  p: 1,
  m() {}
}

# non-configurable, ## non-writable as well:
{
  #p: 1,
  ##m() {}
}

Extend to other literal forms ala <|:

#[a, b, c]
#function(){...}
#/\d+/
#1
#""
#true

Compose with <|:

null <| ##{...} // record-esque
null <| ##[...] // tuple-esque

Include tuple-isms for #[], ##[]:

holes => syntax error
length cannot be greater than 2^32 - 1

Thanks,
Sean Eagan


More information about the es-discuss mailing list