TypeScript で関数の引数に関数を渡してみる
TypeScriptは静的型付けなので、引数や変数に型を指定する必要があります。
これはJavaScriptと大きく違うところで、バグが少なくなります。
では関数の引数に関数を指定する時の指定方法はどうするか、という点について書いてみます。
簡単に言うと、関数の引数と戻り値を指定した型を指定してあげればよいだけです。
具体的に書くと以下のような感じです。
function param(msg:string):string{ console.log(msg); return msg; } function execute(aaa:(prm:string)=> string){ aaa('aiueo'); } execute(param);// ここで実行
param関数が引数として渡す関数です。第一引数にstring型を持ち、戻り値としてstring型を返しています。
execute関数はparam関数を引数として持つ関数なので、型を指定する必要があります。
string型ならaaa:string
と簡単なのですが、関数の場合は以下のように記述します。
aaa:(prm:string)=> string
aaaが引数名で、(prm:string)がparam関数の引数部分です。param関数は戻り値がstringなので、アロー関数で戻り値をstringとしています。
上記コードを実行するとコンソールに以下が出力されます。
aiueo
戻り値がvoidの場合は、voidと書けばよいですし、引数が二つある場合は二つの型を指定してあげればよいです。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント