typescriptのインタフェース(interface)
1156 ワード
インタフェースとは?オブジェクト向け言語では、インタフェース(Interfaces)は重要な概念であり、行為の抽象であり、具体的にどのように行動するかはクラス(classes)によって実現される必要がある.
TypeScriptのインタフェースは非常に柔軟な概念であり,クラスの一部の動作を抽象化するのに用いられるほか,「オブジェクトの形状(Shape)」の記述にも用いられることが多い.簡単な例です.
上記の例では、インタフェースを使用して変数の内容を制約するインタフェースの例です.変数の形状は、値を割り当てるときにインタフェースの形状と一致しなければならないことに注意してください.インタフェース・タイプには、次のプロパティがあります.
1.必須属性=>":"コロン付き属性は必須であり、多くても少なくてもいけない
2.オプション属性=>「?」選択したオプションがあるかどうかを示します.
3.読み取り専用属性=>readonlyオブジェクトのフィールドは、作成時にのみ割り当てられます.注意してください.読み取り専用の制約は、読み取り専用属性に最初に割り当てられたときではなく、最初に割り当てられたときに存在します.
4.任意属性[propName:タイプ]:anyは任意属性stringタイプを定義した値を表す
任意のタイプが定義されると、プロパティとオプションのプロパティがサブプロパティである必要があります.
TypeScriptのインタフェースは非常に柔軟な概念であり,クラスの一部の動作を抽象化するのに用いられるほか,「オブジェクトの形状(Shape)」の記述にも用いられることが多い.簡単な例です.
//
interface Person{
name: string,
age: number, //
job?: string, // , ,
readonly salary: id, // , ,
[ propName : string ] : any, //
}
// , Person,
let person: Person = {
name: 'jack',
age: 28,
job: 'IT dog',
id: 9872,
salary: 9999,
}
function printMan(person) {
console.log( ` ${person.name}, ${person.age}, ${person.job}`);
}
上記の例では、インタフェースを使用して変数の内容を制約するインタフェースの例です.変数の形状は、値を割り当てるときにインタフェースの形状と一致しなければならないことに注意してください.インタフェース・タイプには、次のプロパティがあります.
1.必須属性=>":"コロン付き属性は必須であり、多くても少なくてもいけない
2.オプション属性=>「?」選択したオプションがあるかどうかを示します.
3.読み取り専用属性=>readonlyオブジェクトのフィールドは、作成時にのみ割り当てられます.注意してください.読み取り専用の制約は、読み取り専用属性に最初に割り当てられたときではなく、最初に割り当てられたときに存在します.
4.任意属性[propName:タイプ]:anyは任意属性stringタイプを定義した値を表す
任意のタイプが定義されると、プロパティとオプションのプロパティがサブプロパティである必要があります.