typescriptのインターフェースって???
インターフェースって何だろうって思って、chatgptに聞いてみた。
TypeScriptにおけるインターフェースとは、オブジェクトの形状を定義するための機能です。オブジェクトのプロパティ名やプロパティの型を指定することで、そのオブジェクトの形状を定義することができます。例えば、以下のように定義することができます。
interface Person {
name: string;
age: number;
}
この場合、Person
という名前のインターフェースを定義しています。このインターフェースは、name
という名前のプロパティがあり、そのプロパティの型はstring
であることを示しています。また、age
という名前のプロパティがあり、そのプロパティの型はnumber
であることを示しています。
これにより、Person
というインターフェースを使用することで、以下のようにオブジェクトの形状を指定することができます。
const person: Person = {
name: 'John',
age: 30
};
このように、インターフェースを使用することで、オブジェクトの形状を静的にチェックすることができます。また、複数のインターフェースを組み合わせて新しいインターフェースを作成することもできます。これにより、柔軟な型の定義が可能になります。
例えば、以下のように複数のインターフェースを組み合わせて新しいインターフェースを作成することができます。
interface Person {
name: string;
age: number;
}
interface Employee {
company: string;
position: string;
}
interface EmployeePerson extends Person, Employee {
id: number;
}
この場合、EmployeePerson
という名前のインターフェースを定義しています。このインターフェースは、Person
とEmployee
のプロパティを組み合わせ、新しいプロパティid
を追加しています。これにより、EmployeePerson
というインターフェースを使用することで、Person
とEmployee
のプロパティに加えて、id
プロパティを持つオブジェクトを作成することができます。
↑ここでextendsって突然出てきたけど、つまりはプロパティを継承して、それにプラスして何か別のプロパティも加えられるってことなんだろうね、多分。
employeeはcompanyとか、positionの値を持ってるんだと思う。