使用const来需要一个模块

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

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

这有效吗? 还需要使用const的任何好处?

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

解构赋值语法是一个JavaScriptexpression式,它可以将数组中的值或对象的属性解压到不同的variables中。

 ({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.FunctionHelper.Function

它也可以减less你的bundle.js文件的大小 。

利用const对自己有一些很大的改进 。 所以你不能改变你的导入模块了。 这个导入的模块被称为不可变的 ,这对于某些点来说确实很好。 对于更多的有一个在这里看看: 简短介绍到不可变的数据结构

编辑const并不意味着一个值是不可改变的,但这意味着在这一点上的对象不能被重新分配。 (感谢@Mark Stosberg再次指出)

(简单的代码更容易推理,这是关于良好的代码风格)

语法是有效的ES6破坏语法 。 确保你的模块导出一个名为Function的variables。 有关详情,请参阅 : MDN销毁语法