I don't understand the use case. If anything I would like it if returning
an object that fails `new Class instanceof Class` to also fail, not permit
even more oddities.

On Thu, Apr 19, 2018 at 6:49 PM, Isiah Meadows <[email protected]>
wrote:

> Here's my proposal:
>
> In constructors, currently, non-objects are replaced with `this`.
> Here's what I think it should be replaced with:
>
> 1. When calling the constructor, if `undefined` is returned and
> `new.target` is not `undefined`, return `this` instead. This is for
> compatibility and ease of implementation.
> 1. When calling the constructor, if anything else is returned, return
> that value in raw form.
>
> I know this is very *likely* very breaking, but I wonder if it would
> be possible.
>
> In case you're curious what this would change in the spec, it would
> change [section 9.2.2][1], step 13.a-13.c to this:
>
> a. If result.[[Value]] is not `undefined`, return
> NormalCompletion(`result.[[Value]]`).
> b. If kind is `"base"`, return NormalCompletion(thisArgument).
>
> [1]: https://tc39.github.io/ecma262/#sec-ecmascript-
> function-objects-construct-argumentslist-newtarget
>
> -----
>
> Isiah Meadows
> [email protected]
>
> Looking for web consulting? Or a new website?
> Send me an email and we can get started.
> www.isiahmeadows.com
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to