我一直在看下面的语法,并试图了解其中的不同之处。我在谷歌上做了一些搜索,但没有得到答案。
const plugin1 = require('awesome-typescript-loader');
const { plugin2 } = require('awesome-typescript-loader');是一样的吗?有人能解释一下这有什么不同吗?
发布于 2018-10-11 13:01:09
简单化解释
对于那些懒得搜索的人来说,对销毁任务的简单解释如下:
第一种情况:
const plugin1 = require('awesome-typescript-loader');在上述情况下,变量plugin1接收由模块'awesome-typescript-loader'导出的对象。
然后,如果您想访问它的属性,您必须按如下方式调用它:plugin1.propertyFoo
第二种情况:
const { plugin2 } = require('awesome-typescript-loader');在第二种情况下,您已经知道由模块'awesome-typescript-loader'导出的对象具有一个名为plugin2的属性,但是不希望使用all属性导入整个对象,比如在first场景中。
因此,您使用这个语法{ plugin2 },这基本上意味着您创建了局部变量plugin2,它只从由'awesome-typescript-loader'导出的对象接收属性plugin2。
这可以在对象、和数组上完成。
适当定义
虽然上面的解释在很多情况下都是正确的,但它实际上取决于您要导入的输出类型。所以,它可能不适用于所有的情况。请查阅出口文件这里,以获得更详细和准确的信息。
此外,要获得正确的定义和语法,请查看解构分配。
希望能帮上忙!
发布于 2018-10-11 02:16:35
多亏了里奇·莫,我得到了我想要的一切
https://stackoverflow.com/questions/52751136
复制相似问题