建立:
CommonJS和ES6的新功能.我知道对象实例和方法的静态容器之间的区别,但我不确定它们在分离到模块时的行为方式.所以我想知道返回一个实例之间的区别是什么(这个模式是否有效?):
// StateParser.js
class StateParser {
constructor() {
}
method1() {
...
}
}
export default new StateParser()
Run Code Online (Sandbox Code Playgroud)
并导出const方法:
// StateParser.js
let state = {
}
export const method1 = () => { ... }
Run Code Online (Sandbox Code Playgroud)
方法B:使用对象解构的能力之一是:
import { method1 } from '../utils/StateParser.js';
Run Code Online (Sandbox Code Playgroud)
然后使用method1,就好像它存在于本地?
方法A:在构造函数中初始化状态的能力有哪些好处?
所以基本上我不确定何时使用哪个实用程序类,并希望您的输入.
因为我读这里,ES2015可以导出var,const,let,function,class和default.
export var myVar1 = ...;
export let myVar2 = ...;
export const MY_CONST = ...;
export function myFunc() {
...
}
export function* myGeneratorFunc() {
...
}
export class MyClass {
...
}
Run Code Online (Sandbox Code Playgroud)
但我不明白为什么.在我的外行看来,应该有named exports和default exports.
您输出的类型似乎并不重要.我的意思是,当你export default,你指定类型?不,你没有,它的工作原理.此外,它还能有什么区别出口var或let?它有什么区别export const?导入模块时,无论如何它都是不可变的(AFAIK).
那么,为什么必须指定导出的类型?
javascript commonjs node-modules ecmascript-6 ecmascript-2015
我想以编程方式为模块生成导出,这在es6中是否可能?
这些方面的东西:
const ids = ['foo', 'bar', 'baz'];
ids.forEach(id => {
export const [id.toUpperCase()] = id;
});
Run Code Online (Sandbox Code Playgroud)