On Tue, Feb 5, 2013 at 11:55 AM, Brandon Benvie
<bran...@brandonbenvie.com>wrote:

> Indeed, and given use of ES6, I expect things like this wouldn't be very
> uncommon (I think is supposed to be Object.define right?):
>

Nothing there yet, though I suspect Object.mixin() will have more traction.

https://mail.mozilla.org/pipermail/es-discuss/2012-December/027037.html

Rick


>
> Object.define(x, {
>   get a(){},
>   set a(v){},
>   get b(){},
>   c(){}
> });
>
> Instead of most current descriptor stuff (since enumerability and
> configurability are rarely desired to be false).
>
>
> On Tuesday, February 5, 2013, Rick Waldron wrote:
>
>>
>>
>>
>> On Tue, Feb 5, 2013 at 3:19 AM, gaz Heyes <gazhe...@gmail.com> wrote:
>>
>>> On 4 February 2013 23:44, Brendan Eich <bren...@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
>>
>>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to