export と export default の違い
export キーワードは、1 つ以上の変数、関数、またはクラスをエクスポートするために使用されますが、export default キーワードは、1 つのデフォルトの変数、関数、またはクラスをエクスポートするために使用されます。他のモジュールでは、import キーワードを使用して、これらのエクスポートされた変数、関数、またはクラスをインポートできます。
1. export
1. エクスポート方法
- 
exportで公開されたメンバーは、必ず{}で囲む必要があります。この形式を 必要に応じたエクスポート と呼びます。
- 
exportでは、複数のメンバーを公開できます。
// 直接エクスポート
export let str = `hello world!!!`;
export function fuc() {}
// 定義してからエクスポート
let str1 = 'hello';
let str2 = 'world';
let str3 = '!!!';
function func() {}
export { str1, str2, str3, func };
2. インポート方法
- 
exportで複数のメンバーを公開した場合、特定のメンバーをインポートする際に{}に含めないことができます。
- 
exportでエクスポートされたメンバーは、インポート時にエクスポート時の名前に厳密に従って{}で受け取る 必要があります。
- 
exportでエクスポートされたメンバーをインポートする際に、別の変数名を付けたい場合は、asを使って別名を付けることができます。
import { str1, str2 as str2s } from 'xxx.js';
console.log(str1 + '====== ' + str2s); // hello======world
2. export default
1. エクスポート方法
- 1 つのモジュール内で、export defaultは 1 回のみエクスポートできます。
- 1 つのモジュール内で、export defaultとexportを同時に使用してメンバーを公開できます。
// xxx.js
export const name = 'Red';
export const age = 20;
const obj = {
  name: 'Red',
  age: 20,
};
export default obj;
2. インポート方法
- 
export defaultで公開されたメンバーは、任意の変数を使用して受け取ることができます。
import user from 'xxx.js';
import { name, age } from 'xxx.js';
console.log(user);
console.log(name, age);
