Ist es möglich, mehrere dynamische Methodennamen in einer Klasse zu haben?

8

Ich lese die ES6-Klasseninformationen zu der Dokumentation von Babel.js durch und habe festgestellt, dass das so steht Objekte können jetzt dynamische Eigenschaftsnamen haben:

%Vor%

Dies scheint auch in Klassen nützlich zu sein. Ist es möglich, etwas ähnliches in einer ES6-Klasse zu tun, ohne dies in einem Konstruktor zu tun, d. H .:

%Vor%

statt etwas im Konstruktor zu tun:

%Vor%

Mit anderen Worten, ich möchte in der Lage sein, ein Array wie ['format1', 'format2'] zu verwenden und zwei Methoden, readformat1 und readformat2 , in der Klasse dynamisch zu erstellen, ohne den Konstruktor zu verwenden. Ist das möglich?

    
josh 09.03.2015, 04:08
quelle

2 Antworten

5

Ja, es ist möglich, Sie haben nur die erforderliche () für die Methodensignatur übersehen:

%Vor%

Babel repl: lang und hässlich URL hier

Ab Ihrer aktualisierten Frage: Es ist nicht möglich (zumindest ist mir das nicht bewusst). Sie können also Methoden mit in Runtime aufgelösten Namen erstellen, aber Sie können keine N-Methoden mit dieser Syntax aus dem Array erstellen.

    
zerkms 09.03.2015, 04:16
quelle
3

Ich habe diese Frage in einem ersten Google-Link gefunden, sollte also noch eine hilfreiche Antwort geben:)

ES6-Klassen sind meist nur ein syntaktischer Zucker, also können Sie immer noch Prototypen verwenden und so etwas wie

tun %Vor%

Ich habe keinen besseren Weg gefunden.

    
hlomzik 10.09.2015 10:37
quelle

Tags und Links