#はじめに
前回は【TypeScript】インターフェースの使い方についてアウトプットしました。
今回は**関数定義
**について学んだことをアウトプットします。
#functionキーワード
引数
とreturn
で返される値に型定義をすることが出来ます。
function isDone(flag: boolean): string {
return "done";
}
#無名関数
関数が格納された変数自体に型定義することが出来ます。
let add = function(a: number, b: number): number {
return a + b;
}
#アロー関数
上記をアロー関数で置き換えることが出来ます。
let add = (a: number, b: number): number => {
return a + b
}
#直ちに値を返す場合は{}とreturnが省略可能
この場合は1行で書くことが出来ます。
let add = (a: number, b: number): number => a + b;
#オプショナルなパラメータ
?
を使うことでそのパラメータはオプショナル扱いとなり、関数の呼び出し時に引数を省略することができます。
オプショナルな引数は必ずオプショナルではないすべてのパラメータの後に付ける必要があります。
function buildName(firstName: string, lastName?: string) {
if (lastName) {
return firstName + " " + lastName;
} else {
return firstName;
}
}
let result1 = buildName("Taro"); // => OK!!
let result2 = buildName("Taro", "Yamada", "Yamada"); // => error
let result3 = buildName("Taro", "Yamada"); // => OK!!
#デフォルトパラメータ
引数の値が未入力の場合のデフォルト値を設定出来ます。
function greet(name: string = '太郎さん') {
console.log(`Hello, ${name}`);
}
greet('Qiita'); // => 'Hello, Qiita'
greet(); // => 'Hello, 太郎さん'