How can a lexer decide a token to be "get", "IdentifierName" or "Identifier" ?
Rick Waldron
waldron.rick at gmail.com
Tue Feb 5 08:23:57 PST 2013
On Tue, Feb 5, 2013 at 3:19 AM, gaz Heyes <gazheyes at gmail.com> wrote:
> On 4 February 2013 23:44, Brendan Eich <brendan at mozilla.com> wrote:
>
>> What's confusing?
>>
>
> The fact that you can have an object property without a colon and a
> function without a function keyword.
>
ES6 concise methods will make this the norm:
let o = {
meaning() {
return 42;
}
};
o.meaning(); // 42
> Then a property descriptor uses a completely new syntax to define the same
> thing. Why?
> Object.defineProperty(window,'x',{set:alert});
> x=1;
>
What part is "new syntax"? Property descriptors are just object literal
syntax—did you mean "different syntax"?
>
> To me this seems hacked together.
>
>
>> ({'get'x(){return 123;}}).x
>>>
>>
>> That's not legal ES5.
>>
>
> Some engines support it though and I'm pretty sure Firefox did at some
> point.
>
I think Brendan was referring to the quotes, ie. 'get'. Remove those for
legal syntax:
({ get x() { return 123; } }).x
Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130205/06cddb5f/attachment.html>
More information about the es-discuss
mailing list