Ich verwende ECMAScript6-Module. Was ist der richtige Weg, um mehrere Methoden eines Moduls aus den folgenden Optionen zu exportieren/importieren?ES6-Module: Einzelne Klassen von statischen Methoden ODER mehrere individuelle Methoden exportieren
Einzel Klasse von statischen Methoden:
//------ myClass.js ------
export default class myClass {
static myMethod1() {
console.log('foo');
}
static myMethod2(args...) {
console.log('bar');
}
}
//------ app.js ------
import myClass from 'myClass';
myClass.myMethod1(); //foo
Mehrere exportierte Methoden:
//------ myMethods.js ------
export function myMethod1() {
console.log('foo');
}
export function myMethod2() {
console.log('bar');
}
//------ app.js ------
import {myMethod1, myMethod2} from 'myMethods';
myMethod1() //foo;
//OR
import * as myMethods from 'myMethods';
myMethods.myMethod1() //foo;
1) Exportieren: Eine Klasse nur statische Methoden fühlt sich wie ein bisschen ein ‚Codegeruch‘, sondern Ähnlich geht es, wenn man alles einzeln exportiert. Handelt es sich nur um eine Vorliebe für Entwickler oder gibt es hier Auswirkungen auf die Leistung?
2) Importieren: '* as' Syntax ist meine bevorzugte Methode, da Sie die Punktnotation (Referenzierung sowohl das Modul UND die Methode) Hilfe Code Lesbarkeit. Hat dies Auswirkungen auf die Leistung, wenn ich nur eine der Methoden verwende?
Mit 'Import {myMethod1, myMethod2} von 'myMethods';' die eingeführten Methoden tun muss nicht als eine Variable dereferenziert werden. Obwohl ich gesagt habe, dass ich nicht sicher bin, ob die Punktnotation tatsächlich als Variable behandelt wird. – user5321531