0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScript基礎メモその5

Posted at

#クラスのエクスポート、インポート
クラスの定義の後で『export default クラス名』とすることで、そのクラスをエクスポート(出力)し
、他のファイルへ渡すことができる。

animal.js

class Animal {
//
}
export default Animal;
// Animalクラスを他のファイルでも使用できるようにする設定


『dog.js』内でAnimalクラスを使用できるようにする。
他のファイルで定義されているクラスを使用するにはインポート(読込)をする必要がある。
使用するファイルの先頭で『import クラス名 form "./ファイル名"』と書くことでインポートすることができる。
ファイル名の拡張子の『.js』は省略できる。
>```javascript
import Animal from "./animal";

#値のエクスポート、インポート
エクスポートする場合は『export default 定数名』
インポートする場合は『import 定数名 form "/ファイル名"』
>```javascript:sample1.js
const text = "Hello World";
export default text;
sample2.js

import text from "./sample1";
console.log(text);


結果
Hello World

#デフォルトエクスポート
『export default』はデフォルトエクスポートと呼ばれ、そのファイルがインポートされると自動的に『export default 値』の値がインポートされる。そのためエクスポート時の値の名前と、インポート時の名前に違いがあっても問題ない。
>```javascript:dogData.js
const dog = new Dog("reo", 4, "チワワ");
export default dog;
script.js

import doggy from "./dogData"
// 名前に違いがあっても定数dogの値が入っている (dog → doggy)
doggy.info()


デフォルトエクスポートは1ファイル1つ飲み使える。
>```javascript:dogDate.js
const dog1 = new Dog("han", 3, "柴犬");
const dog2 = new Dog("ryo", 2, "プードル");
>
export default dog1;
export default dog2;
// export default dog2; はエラーになる

#名前つきエクスポート
名前付きエクスポートは複数の値をエクスポートできる。またデフォルトエクスポートと違い、複数の定数やクラスを指定してエクスポートできる。
『export{名前1, 名前2}』という形で書くことにより、1つのファイルから複数のエクスポートができる。
>```javascript:dogData.js
const dog1 = new Dog("han", 3, "柴犬");
const dog2 = new Dog("ryo", 2, "プードル");
>
export { dog1, dog2 };
script.js

import { dog1, dog2 } from "./dogData";
dog1.info();
dog2.info();



0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?