machineghost machineghost - 2 months ago 14
Javascript Question

Javascript (ES6) Modules: Is it possible to export a variable with a dynamic name?

In ES6 I can export a simple

foo
constant:

export const foo = 1;


I can also convert the value of that export (
1
) to a variable, and export that:

const fooValue = 1;
export foo = fooValue;


But my question is, is there any way I can convert the key of the export (
foo
) in to a variable:

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


Or do exports always have to explicitly named?

Answer

You won't be able to use named exports. It's easy enough to export a single object with dynamically generated keys though:

let obj = {};

obj[fooLabel] = fooValue;

export default obj;
Comments