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