我正在使用ECMAScript6模块。以下选项中正确的从模块导出/导入多个方法的方式是什么?
静态方法的单个类:
//------ 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
多个导出方法:
//------ 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) 导出: 仅包含静态方法的类感觉有点“代码异味”,但是单独导出每个方法也有些啰嗦。这只是开发者偏好,还是存在性能影响?
2) 导入: 我更喜欢使用“* as”语法,因为它允许您使用点表示法(引用模块和方法),增加代码可读性。但当我可能只使用其中1种方法时,是否会有性能方面的影响?
import {myMethod1, myMethod2} from 'myMethods';
导入的方法不需要像变量一样进行解引用。虽然说,我不确定点符号是否实际上被视为变量。 - user5321531