是ES2015模块应该通过引用传递对象?

时间:2016-03-23 03:53:52

标签: node.js ecmascript-6 babeljs

在我看来,使用babel编译的ES2015模块只是编译到节点require,它通过引用传递对象(正如预期的那样实现)

问题在于ES2015规范并在原生ES2015模块实现中继续进行,情况仍然如此吗?

1 个答案:

答案 0 :(得分:3)

JavaScript中的所有对象都是reference values,除非您明确告诉他们,否则永远不会克隆它们。是的,情况仍然如此。

事实上,ES6模块比那更糟糕 - import ed绑定不是普通变量,它们是对导出变量的真实引用(例如,参见here),表现得更像一个“模块对象”而不是像常量(这就是babel编译它们的原因)。