In ES6, c'è un modo per chiamare un costruttore genitore che passa attraverso argomenti variadici, a la foo.apply(this, arguments)
? Ho cercato una risposta, e gli unici casi che vedo sono o chiamando super()
(senza argomenti) o chiamando super(x, y)
(con argomenti specifici). super.apply(this, arguments)
non sembra funzionare.ES6 classe super() con argomenti variadici
risposta
Il modello trovo conveniente e seguo è
constructor(...args) {
super(...args);
}
Nel caso in cui si dispone di veicoli e sull'uso di nome argomenti si potrebbe fare questo, invece:
constructor(a, b, c) {
super(...arguments);
}
Riferimenti:
Se si sta utilizzando questo in un browser, sii consapevole del supporto dell'operatore di spread in quanto il supporto è abbastanza nuovo e per qualche motivo il supporto per l'operatore di spread è arrivato più tardi rispetto ad altre funzionalità di ES6 come 'class'. Ad esempio, non penso ci sia alcun supporto IE. Potresti, ovviamente, usare anche un transpiler. – jfriend00
@ jfriend00 IE non supporta quasi nulla da ES2015, quindi, chi se ne frega :-) – zerkms
È facile trovare versioni di Chrome che non sono le più recenti e supportano 'class', ma non supportano l'operatore di spread. Sto solo avvisando l'OP per assicurarmi che abbia il supporto del browser di cui hanno bisogno. Non essere così difensivo. Questa è una bella risposta se il tuo ambiente lo supporta. – jfriend00
- 1. Argomenti Python super(): perché non super (obj)?
- 2. Argomenti costruttore costruttore ES6
- 3. Come passare tutti gli argomenti da __init__ a super classe
- 4. Mappa multipla con modelli variadici
- 5. Usa EventEmitter in classe ES6
- 6. chiamata metodo di classe super super
- 7. Perché "[auto classe] == [super classe]"?
- 8. Espansione con modelli variadici
- 9. Scalabilità di modelli variadici
- 10. Un modello valido in assembly per argomenti variadici
- 11. Esportare una classe con ES6 (Babel)
- 12. Servizio angolare con classe ES6 e Babel
- 13. Operatore di overload C++ virgola per argomenti variadici
- 14. Gli argomenti variadici dopo un parametro predefinito sono ben formati?
- 15. Inserimento di una lista di argomenti variadici in un vettore?
- 16. La chiamata a super (oggetti di scena) in una classe ES6 è importante?
- 17. Differenza tra classe genitore e super classe
- 18. Inizializzazione di aggregati universali con modelli variadici
- 19. ES6 Distruttore in classe costruttore
- 20. Serializzare/deserializzare tramite super classe
- 21. SFINAE con classi di modelli variadici?
- 22. Passaggio di un metodo di istanza a super con classi ES6
- 23. Estendi la classe e passa tutti gli argomenti del costruttore a super
- 24. Python: impossibile richiamare il distruttore della classe parent con super()
- 25. Python classe costruttore con argomenti di default
- 26. Python super e impostazione proprietà parent classe
- 27. Concatenamento di modelli variadici insieme
- 28. "override" membro super classe in sottoclasse java
- 29. Come aggiungere argomenti al gestore eventi in ES6 Reagire quando le funzioni sono associate nel costruttore
- 30. differenza tra chiamare super e chiamare super()
L'operatore di spread è la migliore applicazione. – Oriol
'super.constructor.apply (this, arguments)' funzionerebbe se 'this' fosse già inizializzato – Bergi