I don’t think [Symbol.call] is a very good mechanism. A new syntactic form 
would make more sense.

It doesn’t seem right that you should have to introduce an observable prototype 
property just to get [[Call]] behavior. (Or a constructor property, if you 
change the syntax to `static [Symbol.call]() { … }`.)

And it raises the question of what happens when I add a [Symbol.call] property 
to other objects. What does it even mean? If I do `var obj = { prototype: { 
[Symbol.call]() { console.log("foo"); } } }`, can I now call `obj()`? Is 
`typeof obj === "function"`? Very strange stuff. Presumably not very 
VM-friendly either, but that's just a guess.

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to