>> Is a dual role even necessary? Why not stick to just class declaration?
>> Looking through the eyes of an outsider, class { ... } looks like a class
>> declaration. Given that we already have typeof and instanceof, wouldn’t an
>> outsider expect a name such as classof? Furthermore, if object exemplars and
>> function exemplars are to exist in parallel. Then:
>>
>> function Foo() {};
>> var f = new Foo();
>> classof f === Foo // true
>>
>> let Foo = {};
>> var f = new Foo();
>
> This could succeed, due to 'constructor' inherited from Object.prototype.
> But, it could fail if we require an own constructor, or at least an inherited
> one whose value is a function object (or callable object if host) whose
> .prototpye is the exemplar.
>
>> classof f === Foo // true
>
> If new Foo() throws, you won't reach here, and all is consistent.
Sorry, mucked it up (shouldn’t email when tired):
let Foo = { constructor: function() {} }; // or any valid object exemplar
on the RHS, really
var f = new Foo();
classof f === Foo // true
--
Dr. Axel Rauschmayer
[email protected]
home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss