【TypeScript】interface

用法

interface(接口),可以強制定義class的屬性名稱,數量,型別

定義class

//インターフェイスは定義だけで実装がない、クラスのようなものですものです
//クラスに特定な機能を実装を強制する目的で利用されます

interface Animal {
    name: string;//「name」というプロパティーをクラスに強制する
    legs: number;
    isCry: boolean; 
    cry(): void;
}


class Dog implements Animal {
    name: string='Maru';
    legs: number=4;
    isCry: boolean=true;
    cry(): void{
        if (this.isCry) {
            console.log('bow, wow!');
        }
    }
}

定義物件

interface Animal {
    name: string;
    legs: number;
    isCry: boolean; 
    cry(): void;
}

let Dog: Animal {
    name: 'Maru',
    legs: 4,
    isCry: true,
    cry() {
        console.log('bow, wow!');
    }
}

類似的方法

當覺得不需要使用interface小題大作,卻又想強制定義屬性時,可以使用以下的方法

let Dog: { name: string, legs: number } = {
 name: 'Maru',
 legs: 4,
}