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?
Ja, es ist möglich, Sie haben nur die erforderliche ()
für die Methodensignatur übersehen:
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.
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.
Tags und Links javascript ecmascript-6