在我的一个NodeJS应用程序中,我注意到以下代码;
const { Function } = require('./modules/helpers.js')
这有效吗?使用const还是有什么好处吗?
答案 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
。
答案 1 :(得分:-1)
利用const
为您自己做了一些重大改进。因此,您无法再更改导入的模块。这个导入的模块叫做 immutable ,这对某些点来说真的很好。有关详细信息,请查看此处:Short Introduction into immutable data structures
编辑:const
并不意味着某个值不再可更改,但这意味着此时无法重新分配此对象。 (感谢@Mark Stosberg再次指出这一点)
(只是代码更容易推理而且代码风格很好)
语法是有效的ES6破坏语法。确保模块导出名为Function
的变量。有关详细信息,请查看此处:MDN Destruction Syntax