Proposal: allow primitives to be explicitly returned from constructors
michael.lee.theriot at gmail.com
Fri Apr 20 23:34:22 UTC 2018
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 <isiahmeadows at gmail.com>
> 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], step 13.a-13.c to this:
> a. If result.[[Value]] is not `undefined`, return
> b. If kind is `"base"`, return NormalCompletion(thisArgument).
> : https://tc39.github.io/ecma262/#sec-ecmascript-
> Isiah Meadows
> me at isiahmeadows.com
> Looking for web consulting? Or a new website?
> Send me an email and we can get started.
> es-discuss mailing list
> es-discuss at mozilla.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss