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

