ES6 class super() with variadic arguments

Turner Hayes picture Turner Hayes · Jul 19, 2016 · Viewed 7.9k times · Source

In ES6, is there a way to call a parent constructor passing through variadic arguments, a la foo.apply(this, arguments)? I've looked for an answer, and the only instances I see are either calling super() (no arguments) or calling super(x, y) (with specific arguments). super.apply(this, arguments) doesn't appear to work.

Answer

zerkms picture zerkms · Jul 19, 2016

The pattern I find convenient and follow is

constructor(...args) {
    super(...args);
}

In case you have and use named arguments you could do this instead:

constructor(a, b, c) {
    super(...arguments);
}

References: