使用const来要求一个模块

时间:2017-08-29 18:52:21

标签: javascript node.js

在我的一个NodeJS应用程序中,我注意到以下代码;

const { Function } = require('./modules/helpers.js')

这有效吗?使用const还是有什么好处吗?

2 个答案:

答案 0 :(得分:2)

是的,destructuring assignment是一种有效的语法:

  

解构赋值语法是一个JavaScript表达式,可以将数组中的值或对象的属性解包为不同的变量。

({a, b} = {a: 10, b: 20});
console.log(a); // 10
console.log(b); // 20

请参阅:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

编辑:

至于好处,在大多数情况下它是一种语法糖。它允许您直接将导入功能引用为Function而不是Helper.Function

它也可以reduce your bundle.js file size

答案 1 :(得分:-1)

利用const为您自己做了一些重大改进。因此,您无法再更改导入的模块。这个导入的模块叫做 immutable ,这对某些点来说真的很好。有关详细信息,请查看此处:Short Introduction into immutable data structures

编辑const并不意味着某个值不再可更改,但这意味着此时无法重新分配此对象。 (感谢@Mark Stosberg再次指出这一点)

(只是代码更容易推理而且代码风格很好)

语法是有效的ES6破坏语法。确保模块导出名为Function的变量。有关详细信息,请查看此处:MDN Destruction Syntax