型指定
var onigiri: string = 'onigiri',
calories: number = 200;
function todaysMeal(food: string, energy: number): string {
return `my ${food} has ${energy} calories`
}
todaysMeal(onigiri, calories)
インターフェイス
L オブジェクトがある構造に合っているかの型チェックに使用
interface Person {
name: string;
age: number;
}
function intro(person:Person): string {
return `My name is ${person.name}. I am ${person.age}`
}
var ken = {
name: 'Ken',
age: 20
}
intro(ken)
クラス
class Menu {
items: Array<string>;
pages: number
constructor(item_list: Array<string>, total_pages: number){
this.items = item_list;
this.pages = total_pages;
}
list(): void {
console.log("out menu for today:");
for (var i=0; i<this.items.length; i++){
console.log(this.items[i]);
}
}
}
var sundayMenu = new Menu(["pancakes","waffles","orange juice"], 1);
sundayMenu.list();
$ node hello.js
out menu for today:
pancakes
waffles
orange juice
なるほど、型付言語だとGoと近いな