無料ブログはココログ

« [VirtualBox]VM起動時にsupR3HardenedWinReSpawnエラーが出る場合 | トップページ | TypeScriptメモ(3) クラス »

2014.08.23

TypeScriptメモ(2) 引数の省略、関数のオーバーロード

クラスに行こうかと思ってたが、引数の省略と関数のオーバーロードについて書く。

引数の省略は変数名の後に?をつけると、省略可能になる。省略された場合、変数の値はundefinedになる。

 function hoge(a:string, b?:number) :void {
	alert("hoge:" + a +"," + b);
 }

 hoge("aaa");

この場合、"hoge:aaa,undefined"と表示される。

省略された時のデフォルト値を指定する方法がある。

 function hoge(a:string, b:number = 10) :void {
	alert("hoge:" + a +"," + b);
 }

 hoge("aaa");

この場合、"hoge:aaa,10"と表示される。

可変長引数は、変数の前に…を付けて配列する。

 function hoge(a:string, ...b:any[]):void {
	alert("hoge:" + a +"," + b);
 }

 hoge("aaa",10,2);

関数のオーバーロードは、引数の型が違う関数の宣言を書いておき、型の違う引数のところをanyやobjectにした関数本体を宣言する。その関数内で型のを調べて処理を分岐することでオーバーロードっぽいことを実現する。

 function hoge(a:number):void;
 function hoge(a:string):void;

 function hoge(a:any):void {
	if(typeof a == "number") {
		alert("number");
	} else {
		alert("string");
	}
 }
 hoge(18);

この場合、"number"と表示される。

« [VirtualBox]VM起動時にsupR3HardenedWinReSpawnエラーが出る場合 | トップページ | TypeScriptメモ(3) クラス »

プログラミング」カテゴリの記事

TypeScript」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: TypeScriptメモ(2) 引数の省略、関数のオーバーロード:

« [VirtualBox]VM起動時にsupR3HardenedWinReSpawnエラーが出る場合 | トップページ | TypeScriptメモ(3) クラス »

2022年11月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30