TypeScript チートシート

・JavaScriptへコンパイル

tsc [ファイル名]

・node.jsで実行

node [コンパイル後のファイル名]
コメント

・1行コメント

//

・複数行コメント

/*
*/
変数の宣言

・型指定なし

var x = 10

・型指定あり

var x : number = 10
列挙型

・列挙型の定義

enum Signal {
  Red,
  Blue,
  Yellow
}

・アクセス

Singal.Red ==> 0
Signal['Blue'] ==> 1
Signal[2] ==> Yellow
関数

・返り値なし

function sayHello(): void {
  console.log("Hello!")
}

・返り値あり

function add(a: number, b: number): number {
  return a+b
}

・オプション引数

function showValue(a: number, b?: number) {
  console.log("a: " + a)
  if( b ) {
    console.log(" b: " + b)
  }
}

・初期値

function getValue(a: number = 10) {
  return a
}

・関数式

var add2 = (a: number, b:number ): number => a+b

・関数のオーバーロード

// シグネチャ
function add3(a: number, b: number): number;
function add3(a: string, b: string): string;

function add3(a: any, b: any): any {
  if( (typeof a === 'string' ) && ( typeof b === 'string') ) {
    return a + " " + b
  }
  a+b
}