5章関数
Function arguments
In one end, out the other
As a return type
関数の引数
一方から入って、もう一方から出ていく
戻り値の型として
……………………………………………………
「2章 型システム」では、変数の型を指定する型アノテーションの使い方を学びました。ここでは、関数のパラメーターと戻り値の型について同じことを行う方法——および、それが役に立つ理由——を学びます。
5.1 関数のパラメーター
次のようなsing
関数を考えてみましょう。この関数はsong
パラメーターを受け取り、それをログに出力します。
function
sing
(
song
)
{
console
.
log
(
`Singing:
${
song
}
!`
);
}
このsing
関数を書いた開発者は、song
パラメーターに、どのような型の値が渡されることを意図したのでしょうか?
string
でしょうか? オーバーライドされたtoString()
メソッドを持つオブジェクトでしょうか? それとも、このコードにはバグがあるのでしょうか? 誰にもわかりません!
明示的に宣言された型情報がなければ、決してわかりません。TypeScriptはこれをany
型と見なします。パラメーターの型は何でも構わないということです。
変数と同様に、TypeScriptでは、型アノテーションを使って関数パラメーターの型を宣言できます。次のように「: string
」を使って、song
パラメーターがstring
型であることをTypeScriptに伝えられます。
function
sing
(
song
:string
)
{
console
.
log
(
`Singing:
${
song
}
!` ...
Get 初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.