domenic at domenicdenicola.com (2014-06-20T19:34:18.981Z)
On Thu, Jun 12, 2014 at 10:06 AM, Domenic Denicola <domenic at domenicdenicola.com> wrote:
> I'd be most interested in seeing if we can remove IsConstructor entirely (except for uses where it's just a guard, implementing the semantics of `new` via IsConstructor -> [[Construct]] or throw).
>
> It seems like there's at least some movement toward removing it from `Array.of` and `Array.from`. All that remains is its use to preserve the `arrayInstance.constructor = undefined` backward-compatibility possibilities.
Proxies also observe it.
I *really* wish we just had an @@new for this, such that
new C(...args)
is just shorthand for
C[Symbol.new](...args)
and the construct trap could be removed from proxies altogether. :-|
On Thu, Jun 12, 2014 at 10:06 AM, Domenic Denicola <domenic at domenicdenicola.com> wrote: > I'd be most interested in seeing if we can remove IsConstructor entirely (except for uses where it's just a guard, implementing the semantics of `new` via IsConstructor -> [[Construct]] or throw). > > It seems like there's at least some movement toward removing it from `Array.of` and `Array.from`. All that remains is its use to preserve the `arrayInstance.constructor = undefined` backward-compatibility possibilities. Proxies also observe it. I *really* wish we just had an @@new for this, such that new C(...args) is just shorthand for C[Symbol.new](...args) and the construct trap could be removed from proxies altogether. :-| -j