At least in Chrome, new weirdFunction() !== iter nor does it throw a
TypeError... but maybe that's a bug...

On Wed, Jul 27, 2016 at 10:12 AM, Allen Wirfs-Brock <[email protected]>
wrote:

>
> On Jul 26, 2016, at 11:52 PM, Claude Pache <[email protected]> wrote:
>
>
> var weirdInstance = new weirdFunction(); // what is this??
> ```
>
>
> My intuition says: "TypeError: weirdFunction is not a constructor”.
>
>
> exactly, because weirdFunction is actually
> https://tc39.github.io/ecma262/#sec-%iteratorprototype%-@@iterator which
> is a built-in function that is not identified as a constructor.
>
> https://tc39.github.io/ecma262/#sec-ecmascript-standard-built-in-objects
>  says:
>  "Built-in function objects that are not identified [in this
> specification] as constructors do not implement the [[Construct]] internal
> method unless otherwise specified in the description of a particular
> function.”
>
> Step 7 of https://tc39.github.io/ecma262/#sec-evaluatenew says:
> If IsConstructor(*constructor*) is *false*, throw a TypeError exception.
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to