【问题标题】:Javascript (ES6) Modules: Is it possible to export a variable with a dynamic name? [duplicate]Javascript(ES6)模块:是否可以导出具有动态名称的变量? [复制]
【发布时间】:2016-09-26 17:45:50
【问题描述】:

在 ES6 中,我可以导出一个简单的 foo 常量:

export const foo = 1;

我还可以将该导出 (1) 的值转换为变量,然后导出:

const fooValue = 1;
export foo = fooValue;

但我的问题是,有什么方法可以将导出 (foo) 的 key 转换为变量:

const fooLabel = 'foo';
const fooValue = 1;
export something(fooLabel) = fooValue;

或者导出总是必须明确命名?

【问题讨论】:

    标签: javascript ecmascript-6 es6-module-loader


    【解决方案1】:

    您将无法使用命名导出。不过,使用动态生成的键导出单个对象很容易:

    let obj = {};
    
    obj[fooLabel] = fooValue;
    
    export default obj;
    

    【讨论】:

    • 对,但不幸的是我不能这样做import {foo} from 'obj' :(
    • @machineghost - 不。但是你可以导入然后在另一个语句中解构它。
    • 是的,不是我希望的界面,但是它仍然击败了 ES5(非)导入的废话
    猜你喜欢
    • 1970-01-01
    • 2019-09-15
    • 2015-06-15
    • 2016-10-11
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2010-11-14
    相关资源
    最近更新 更多