LoginSignup
2

More than 5 years have passed since last update.

JavaScript のデフォルトエクスポートのオブジェクトと名前付きエクスポートの違い

Posted at

概要

Vue.js の vuex のテストを書こうとしていたときにハマった

  • export default {foo, bar}export {foo, bar} は違う
  • import {foo, bar} from 'module' は名前付きエクスポートの分割代入

これを認識してなかったので,テストコードで import するときに困った

export default {foo, bar}

  • {foo, bar} というオブジェクトをデフォルトエクスポートしてる
  • import {foo, bar} from 'module' とはできない
    • 同じようなことをするときは下のように書く
  import module from 'module'
  const {foo, bar} = module

export {foo, bar}

  • foo, bar という2つの変数を名前付きエクスポートしてる
  • なので,import {foo, bar} from 'module' とできる
  • オブジェクトにまとめるときは import * as module from 'module'

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2