这两个 require 方法有什么区别:
1. var xx = require('module')
2. const {xx} = require('module')
我看到第一个onde我可以访问xx作为变量,所有脚本都由模块导出..第二个xx未定义。如何访问第二个“方法”或者它是否也是构造模块以使用 {}
谢谢
最佳答案
第一个将完整模块句柄放入名为 xx
的变量中。
第二个从模块句柄获取 xx
属性并将其放入名为 xx
的变量中。因此,第二个与以下相同:
const xx = require('module').xx;
第一个是使用 var
,第二个是使用 const
,但我假设您已经知道这种区别。
换一种方式说:
这个:
const {xx} = require('module');
是一个快捷方式:
const xx = require('module').xx;
当您想要从模块中获取一堆属性并将它们全部分配给模块中的顶级变量时,使用 require()
时,它作为快捷方式最有用,如下所示:
const {xx, yy, zz, aa, bb, cc} = require('module');
如果您不使用对象解构语法,这显然需要比单行更多的代码来复制。
仅供引用,所有这些都只是对象解构的一种形式(ES6 中添加到 Javascript 的功能)。这并不是 require()
特有的东西,只是 require()
通常会返回一个带有一堆人们感兴趣的属性的对象。请参阅这篇文章 "A Dead Simple into to Destructuring"很好地总结了对象解构的作用。
关于javascript - var module = require() 还是 const {module} = require()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60250163/