導入
同じ形のオブジェクトを何度も使うなら、その型に名前を付けておくと便利です。interface(インターフェース)を使うと、オブジェクトの形を再利用できます。
説明
interface で型に名前を付けます。以後はその名前を型として使えます。
interface User {
name: string;
age: number;
}
let taro: User = { name: "太郎", age: 25 };
let hanako: User = { name: "花子", age: 30 };
console.log(taro.name, hanako.name);
関数の引数の型としても使えます。長い { name: string; age: number } を毎回書かずに済みます。
interface User {
name: string;
age: number;
}
function greet(user: User): void {
console.log("こんにちは、" + user.name + "さん");
}
greet({ name: "太郎", age: 25 });
interface はコンパイル時に消えるので、実行される JavaScript には残りません(型だけの存在です)。
やってみよう
User に3人目 let jiro: User = { name: "次郎", age: 20 }; を足して、console.log(jiro.age) で表示してみましょう。
演習
Product という interface を作ってください。name(string)と stock(number)を持ちます。Product 型の変数 item に name: "ペン"、stock: 3 を入れ、console.log(item.stock) で在庫数を表示しましょう。
ヒント1を見る
interface Product { name: string; stock: number; } を書き、let item: Product = { name: "ペン", stock: 3 }; とします。