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) クラス »
「プログラミング」カテゴリの記事
- Wii UでBASIC言語のプログラミングができる『プチコンBIG』が12月14日配信開始 - ファミ通.com(2016.12.07)
- プログラミング関係は別ブログに~(2015.04.21)
- Amazon.co.jp: 関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間: 岡部健: 本(2015.04.13)
- α版のリリースから1年4カ月、「Node.js Tools for Visual Studio」v1.0が正式版に - 窓の杜(2015.03.26)
- Nodeビギナーズブック » Node.jsチュートリアル » Node.js 教程(2015.03.13)
「TypeScript」カテゴリの記事
- TypeScript 1.4 for Visual Studio 2013 拡張機能(2015.02.21)
- TypeScriptメモ(7) jQueryを使う(2014.11.11)
- TypeScriptメモ(6) ジェネリクス(2014.10.10)
- TypeScriptメモ(5) モジュール(2014.10.09)
- TypeScriptメモ(4) インターフェイス(2014.10.07)
この記事へのコメントは終了しました。
« [VirtualBox]VM起動時にsupR3HardenedWinReSpawnエラーが出る場合 | トップページ | TypeScriptメモ(3) クラス »
コメント