chan_tameのブログ

プログラミングで詰まった点を記録していきます!

typescriptのインターフェースって???

インターフェースって何だろうって思って、chatgptに聞いてみた。

 

TypeScriptにおけるインターフェースとは、オブジェクトの形状を定義するための機能です。オブジェクトのプロパティ名やプロパティの型を指定することで、そのオブジェクトの形状を定義することができます。例えば、以下のように定義することができます。

typescript
interface Person { name: string; age: number; }

この場合、Personという名前のインターフェースを定義しています。このインターフェースは、nameという名前のプロパティがあり、そのプロパティの型はstringであることを示しています。また、ageという名前のプロパティがあり、そのプロパティの型はnumberであることを示しています。

これにより、Personというインターフェースを使用することで、以下のようにオブジェクトの形状を指定することができます。

css
const person: Person = { name: 'John', age: 30 };

このように、インターフェースを使用することで、オブジェクトの形状を静的にチェックすることができます。また、複数のインターフェースを組み合わせて新しいインターフェースを作成することもできます。これにより、柔軟な型の定義が可能になります。

例えば、以下のように複数のインターフェースを組み合わせて新しいインターフェースを作成することができます。

typescript
interface Person { name: string; age: number; } interface Employee { company: string; position: string; } interface EmployeePerson extends Person, Employee { id: number; }

この場合、EmployeePersonという名前のインターフェースを定義しています。このインターフェースは、PersonEmployeeのプロパティを組み合わせ、新しいプロパティidを追加しています。これにより、EmployeePersonというインターフェースを使用することで、PersonEmployeeのプロパティに加えて、idプロパティを持つオブジェクトを作成することができます。

 

↑ここでextendsって突然出てきたけど、つまりはプロパティを継承して、それにプラスして何か別のプロパティも加えられるってことなんだろうね、多分。

 

employeeはcompanyとか、positionの値を持ってるんだと思う。