型指定
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と近いな