Turner Hayes
Turner Hayes

Reputation: 1944

ES6 class super() with variadic arguments

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.

Upvotes: 27

Views: 11530

Answers (1)

zerkms
zerkms

Reputation: 254906

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:

Upvotes: 52

Related Questions