dignifiedquire at gmail.com (2014-06-26T19:40:02.431Z)
```js
let C // be some constructor
let D = C.bind(obj, a, b)
```
Thanks to the carefully designed `D.[[Construct]]` internal method, the following expressions are equivalent:
```js
new D(...args)
new C(a, b, ...args)
```
Consider now:
```js
class E extends D {
contructor(...args) {
super(...args)
}
}
```
As I understand, `super(...args)` calls `D.[[Call]](this, args)`, which in turn calls `C.[[Call]](obj, [a, b, ...args])`. But what we probably want here, is `C.[[Call]](this, [a, b, ...args])`.
I am missing something or is there an issue?
—Claude
let C be some constructor let D = C.bind(obj, a, b) Thanks to the carefully designed `D.[[Construct]]` internal method, the following expressions are equivalent: new D(...args) new C(a, b, ...args) Consider now: class E extends D { contructor(...args) { super(...args) } } As I understand, `super(...args)` calls `D.[[Call]](this, args)`, which in turn calls `C.[[Call]](obj, [a, b, ...args])`. But what we probably want here, is `C.[[Call]](this, [a, b, ...args])`. I am missing something or is there an issue? —Claude -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140626/b0ce02f5/attachment.html>