非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

TypeScript:export/importでモジュールを作成し外部でインポートする方法

   

開発規模が大きくなると1つのファイルで冗長なコードを書くよりも、複数のファイルに機能ごとにわけて開発したくなります。TypeScriptではモジュールを作成しそれを外部でインポートする仕組みとしてexport/import機能があります。

まず、外部モジュール側の簡単なプログラム例です。2つのクラスをモジュール化しています。classの前にexportというキーワードがありますが、これが「このクラスは外部で利用できる」という明示です。クラスだけでなく関数や変数にも使えます。今回はクラスの例となります。

export class Person {
  name: string;
  age: number;
  
  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }
}

export class Frend extends Person {
    relation: string;

    constructor(name: string, age: number, relation: string) {
        super(name, age);
        this.relation = relation;
    }

    getProfile(): string{
        return `${this.name}は${this.age}歳で私の${this.relation}す。`
    }
}
 

 

次にモジュールを使う側のプログラムです。

import {Person, Frend} from './module';

const person = new Person('taro', 28);
console.log(person.name);
console.log(person.age);

const friend = new Frend('ichiro', 28, 'classmate');
console.log(friend.getProfile());

//taro
//28
//ichiroは28歳で私のclassmateす。
 

 

以下のような書き方もできます。出力は上記のものと全く同じになります。

import * as module1 from './module';

const person = new module1.Person('taro', 28);
console.log(person.name);
console.log(person.age);

const friend = new module1.Frend('ichiro', 28, 'classmate');
console.log(friend.getProfile());
 

 

スポンサーリンク

 - TypeScript