使用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.Function
来Helper.Function
。
它也可以减less你的bundle.js文件的大小 。
利用const
对自己有一些很大的改进 。 所以你不能改变你的导入模块了。 这个导入的模块被称为不可变的 ,这对于某些点来说确实很好。 对于更多的有一个在这里看看: 简短介绍到不可变的数据结构
编辑 : const
并不意味着一个值是不可改变的,但这意味着在这一点上的对象不能被重新分配。 (感谢@Mark Stosberg再次指出)
(简单的代码更容易推理,这是关于良好的代码风格)
而语法是有效的ES6破坏语法 。 确保你的模块导出一个名为Function
的variables。 有关详情,请参阅 : MDN销毁语法