用法
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,
}