在JavaScript中解构导入的对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JavaScript中解构导入的对象相关的知识,希望对你有一定的参考价值。

我们假设我有两个文件。第一个文件名为obj.js,如下所示:

const obj = {
  item1: 'some text',
  item2: 'some other text',
  item3: 'more text'
  ...
  item99: `yet more text`
}

export default obj

文件号2看起来叫做main.js,看起来像这样:

import obj from './obj.js'

现在,这是我的问题。在文件二(main.js)中,我可以访问obj对象的属性,如下所示:obj.item2。我想知道的是我可以解构这个对象,以便我可以访问以下任何属性:item2item26item38等(即,不需要用obj.作为前缀)?

如果是这样,任何想法如何?

我不是要尝试导入任何特定属性,而是希望选择使用我选择的任何属性而无需引用obj

答案

你的问题很简单,你如何解构对象的所有属性。实际上它的动态变量用其他词来命名是不可能的。但是在这里你想使用global和动态属性名称在全局范围内声明它们。

import obj from './obj.js'
Object.keys(obj).forEach(x => global[x] = obj[x]);

以上是关于在JavaScript中解构导入的对象的主要内容,如果未能解决你的问题,请参考以下文章

ES6解构赋值

JavaScript:通过计算键动态解构对象

如何在Javascript中解构一个json对象数组

在对象赋值解构Javascript中使用冒号

[F2016061803] ES6的模块导入与变量解构的注意事项

你真的了解 “对象解构赋值” 吗?关于对象解构的全面解析 ✌