W ES6, czy istnieje sposób wywołania konstruktora macierzystego przechodzącego przez argumenty variadic, a la foo.apply(this, arguments)
? Szukałem odpowiedzi, a jedyne przypadki, które widzę, to wywoływanie super()
(bez argumentów) lub wywoływanie super(x, y)
(z określonymi argumentami). super.apply(this, arguments)
nie działa.ES6 class super() z argumentami variadic
Odpowiedz
Wzór znaleźć wygodne i naśladowania jest
constructor(...args) {
super(...args);
}
W przypadku masz i używać nazwanych argumentów można to zrobić w zamian:
constructor(a, b, c) {
super(...arguments);
}
Referencje:
Jeśli używasz tego w przeglądarce, po prostu bądź świadomy rozległego wsparcia operatora, ponieważ wsparcie jest całkiem nowe iz jakiegoś powodu wsparcie dla operator rozrzutu pojawił się później niż inne funkcje ES6, takie jak "klasa". Na przykład nie sądzę, że jest jakaś obsługa IE. Można oczywiście użyć także transpilatora. – jfriend00
@ jfriend00 IE nie obsługuje prawie nic z ES2015, więc, kogo to obchodzi :-) – zerkms
Łatwo jest znaleźć wersje Chrome, które nie są najnowszą i obsługują 'class', ale nie obsługują operatora rozprzestrzeniania. Po prostu doradzam OP, aby upewnić się, że mają obsługę przeglądarki, której potrzebują. Nie bądź tak defensywny. To dobra odpowiedź, jeśli środowisko to obsługuje. – jfriend00
- 1. co robi super() z dowolnymi argumentami?
- 2. Co to jest składnia Scala wywołująca funkcję z argumentami variadic, ale z nazwanymi argumentami?
- 3. Rozszerzenie Generic Abstract Class & Prawidłowe użycie Super
- 4. Przekazywanie metody instancji do super z klasami ES6
- 5. Java Reflection - Uzyskaj pola z klasy Sub oraz Super Class
- 6. Czy można wywołać super ustawianie w odziedziczonych klasach ES6?
- 7. Variadic variadic szablon szablon parametry
- 8. Wywołanie super metody z poziomu super klasy
- 9. React, po co używać super (rekwizytów) wewnątrz konstruktora klasy ES6?
- 10. IncompatibleClassChangeError: class ClassMetadataReadingVisitor ma interfejs ClassVisitor jako super klasa
- 11. Java: obiekt tablicy Super class przypisany do obiektu tablicy podrzędnej
- 12. SFINAE z klasami szablonów variadic?
- 13. odczytać argumenty z szablonu variadic
- 14. Angular.js DI z klasami (ES6) i dziedziczeniem
- 15. Usługi z ES6 (AngularJS)
- 16. Funkcja Swift z argumentami ... przejście do innej funkcji z argumentami
- 17. Jawny konstruktor z wieloma argumentami
- 18. QuasiQuote z argumentami
- 19. Odtwarzanie z argumentami
- 20. EventHandler z niestandardowymi argumentami
- 21. wywołanie zdarzenia z argumentami
- 22. xargs z wieloma argumentami
- 23. match.call z domyślnymi argumentami
- 24. Właściwość Gettera z argumentami
- 25. @selector z wieloma argumentami
- 26. Definicja maszynopisu dla miksów ES6
- 27. Szorowanie blok z wywołania Super
- 28. Dziedziczenie metod statycznych w ES6
- 29. Utworzenie podklasy Python krotka z wieloma argumentami __init__
- 30. Variadic templates
Operator spreadu ma lepsze zastosowanie. – Oriol
'super.constructor.apply (to, argumenty)' działałoby, gdyby 'ten' był już zainicjowany – Bergi