June 2023
Intermediate to advanced
336 pages
4h 39m
Japanese
Function arguments
In one end, out the other
As a return type
関数の引数
一方から入って、もう一方から出ていく
戻り値の型として
……………………………………………………
「2章 型システム」では、変数の型を指定する型アノテーションの使い方を学びました。ここでは、関数のパラメーターと戻り値の型について同じことを行う方法——および、それが役に立つ理由——を学びます。
次のようなsing関数を考えてみましょう。この関数はsongパラメーターを受け取り、それをログに出力します。
functionsing(song){console.log(`Singing:${song}!`);}
このsing関数を書いた開発者は、songパラメーターに、どのような型の値が渡されることを意図したのでしょうか?
stringでしょうか? オーバーライドされたtoString()メソッドを持つオブジェクトでしょうか? それとも、このコードにはバグがあるのでしょうか? 誰にもわかりません!
明示的に宣言された型情報がなければ、決してわかりません。TypeScriptはこれをany型と見なします。パラメーターの型は何でも構わないということです。
変数と同様に、TypeScriptでは、型アノテーションを使って関数パラメーターの型を宣言できます。次のように「: string」を使って、songパラメーターがstring型であることをTypeScriptに伝えられます。
functionsing(song:string){console.log(`Singing:${song}!` ...