创建新类与使用export const之间的区别
建立:
- BabelJS(ES2015,React,Stage-1)
- Webpack
- React / Redux
CommonJS和ES6的新功能。我知道对象实例和方法的静态容器之间的区别,但是我不确定它们分离到模块后的行为。所以我想知道返回实例之间有什么区别(此模式完全有效吗?):
// StateParser.jsclass StateParser {
constructor() {
}
method1() {
...
}
}
export default new StateParser()
并导出const方法:
// StateParser.jslet state = {
}
export const method1 = () => { ... }
- 方法A:每次导入时都会有一个新实例吗?
- 方法B:使用对象分解功能的好处之一:
import { method1 } from '../utils/StateParser.js';
然后使用method1,好像它在本地存在?
- 方法A:在构造函数中初始化状态的好处之一?
因此,基本上我不确定何时将哪个用于我的实用程序类,并且会感谢您的输入。
回答:
每次导入A都会有一个新实例吗?
不,模块仅评估一次。
B的好处之一是可以使用对象分解功能,然后使用method1就像它存在于本地一样吗?
是的,尽管它不被称为“解构”。它们被 命名为imports (或模块的 exports ),并且它们不嵌套并且对别名使用不同的语法。
A的优点之一是能够在构造函数中初始化状态吗?
不。您也可以直接在模块范围内直接初始化模块状态,您不需要为此构造函数。
但是,是的,如果您在实例中具有状态,则最好使用一个可以 实例化多次 的类。为此,您当然需要导出类本身,而不是实例。
是
export default new …
模式都有效吗?
不,由于上述原因,这是一种反模式。给定该类在其他地方都没有使用,它与匿名类antipattern
非常相似。无论如何,导出多个命名的导出要比默认导出对象好得多。
以上是 创建新类与使用export const之间的区别 的全部内容, 来源链接: utcz.com/qa/430002.html