1. ホーム
  2. module

[解決済み] ES6 オブジェクトからすべての値をエクスポートする

2022-05-16 19:39:57

質問

あるモジュール( ./my-module.js ) があり、その戻り値であるべきオブジェクトを持っているとします。

let values = { a: 1, b: 2, c: 3 }

// "export values" results in SyntaxError: Unexpected token

のようにインポートすればいいんですね。

import {a} from './my-module'           // a === 1
import * as myModule from './my-module' // myModule.a === 1

私が見つけた唯一の方法は、エクスポートをハードコーディングすることです。

export let a = values.a
export let b = values.b
export let c = values.c
// or:
export let {a, b, c} = values

というのは動的ではありません。

オブジェクトからすべての値をエクスポートすることは可能ですか?

どのように解決するのですか?

そうではなさそうです。引用元 ECMAScript 6 モジュール: 最終的な構文 :

不思議に思うかもしれません。(CommonJSのように)単にオブジェクトをデフォルトでエクスポートできるのであれば、なぜ名前付きエクスポートが必要なのでしょうか?その答えは、オブジェクトを介して静的な構造を強制することができず、関連するすべての利点(次のセクションで説明します)を失うからです。