>> What distinguishes it is that I was adding a new case to <| operator where 
>> the LHS is a constructor function and the RHS is an object literal. My 
>> intention was that SuperClass would be the constructor function not a 
>> prototype. Perhaps this is confusing because the return type is not the same 
>> as the same as the RHS.
> 
> Ok, your intent didn't come across.  
> 
> What happens if the RHS does't have a 'constructor' property?  For example:
>     let obj = function() {} <| {};
> 
> Would obj be a function object?  If so, what is it's body.   Is it the 
> existence of a 'constructor' property in the LHS object literal that triggers 
> the creation of a function object instead of a non-function?

I can see this work for a general case of
    <function> <| { … }

As soon as the RHS is a function, the result is a function. Russell mentioned 
that if the RHS didn’t have a property "constructor", its value would be 
function() {} by default.

I see two problems:
- If you introduce a new mechanism, you might as well introduce class literals.
- You might really want to create an object whose prototype is a function.

-- 
Dr. Axel Rauschmayer
a...@rauschma.de
twitter.com/rauschma

Home: rauschma.de
Blog: 2ality.com

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to