インターフェースはクラスが実装すべきフィールドやメソッドを定義した型です。クラスはインターフェースを実装することで、インターフェースが求めるメソッド名や引数の型に則っているかをチェックすることができます。 JavaやPHPなどの言語では、インターフェースが定義できますが、JavaScriptにはそれに相当する構文がありません。一方、TypeScriptにはインターフェースがあります。 TypeScriptで定義されたインターフェースは、コンパイルチェックに活用された後、JavaScriptコードを生成する過程で消されるため、インターフェースがJavaScript実行時に影響することはありません。 インターフェースを定義するTypeScriptではinterfaceキーワードでインターフェースを定義できます。
![インターフェース (interface) | TypeScript入門『サバイバルTypeScript』](https://cdn-ak-scissors.b.st-hatena.com/image/square/fd22fca025d4a5ddac4fcab8efd11c41ba941ce1/height=288;version=1;width=512/https%3A%2F%2Ftsbook-og-image.vercel.app%2F%25E3%2582%25A4%25E3%2583%25B3%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%2595%25E3%2582%25A7%25E3%2583%25BC%25E3%2582%25B9%2520%28interface%29.png%3Fpattern%3Dcross%26md%3D0%26fontSize%3D75px%26textColor%3D%2523ffffff%26textStrongColor%3D%25238340BB%26overlay%3Dhttps%253A%252F%252Fraw.githubusercontent.com%252Fyytypescript%252Fog-image%252Fmain%252Fpublic%252Fogp-overlay.svg)