はじめに
今回は、TypeScript における関数の作成方法について説明します。
目次
名前付き関数
そもそも、関数とは一連の処理をまとめて定義し、再利用を可能にするものです。
名前付き関数とは、文字通り一連の処理に名前がつけられた関数のことで、使用者は関数名で呼び出しをすることができます。
名前付き関数の書式を以下に示します。
function 関数名() { // 実行したい一連の処理 }
以下は、sayHello という関数定義して使用する例です。この関数は「こんにちは」を表示するというシンプルな関数です。
// sayHello 関数の定義 function sayHello() { console.log("こんにちは"); } sayHello(); // 関数の呼び出し
引数のある関数
引数(ひきすう)とは、関数に渡せるパラメータのことです。関数は受け取った引数を関数の内部で使用することができます。
引数のある関数の書式を以下に示します。引数名は「変数名 : データ型」の組み合わせをカンマで区切って複数指定することができます。
// addNum 関数の定義 function addNum(x : number, y : number) { let ans = x + y; console.log(ans); } addNum(3, 4); // 関数の呼び出し
省略可能な引数
引数は、値を受け取らなくても良い場合もあり、このような引数の場合には引数名の後ろに「?」をつけます。
以下に例を示します。
この例では number 型の x と y の値を受け取りますが、yは省略してもいいように「?」をつけています。省略された場合は y の値は undefined になります。
ここで定義した関数 addNum は 2つの引数を渡すこともできますし、1つのみ渡すこともできます。
// addNum 関数の定義 function addNum(x : number, y? : number) { let ans = 0 ; if (y != undefined) { ans = x + y; } else { ans = x; } console.log(ans); } addNum(3,4); // 7 addNum(3); // 3
引数のデフォルト値
すでに説明した通り、引数は省略することができます。引数が省略された場合に、デフォルト値が使われるようにすることができます。
デフォルト値を使用する引数は、「引数名 : データ型 = 値」のように書きます。
以下に例を示します。
この例では、引数 y を省略可能にし、省略された場合は 10 という値がデフォルト値として使用されるようにしています。
// addNum 関数の定義 function addNum(x : number, y : number = 10) { let ans = x + y; console.log(ans); } addNum(3,4); // 7 addNum(3); // 13
戻り値を返す関数
戻り値とは、関数の呼び出し元に返す、関数からの返却値です。
戻り値のある関数の書式を以下に示します。
function 関数名() : データ型 { // 実行したい処理 }
以下は、2つの数値を受け取って足し算した結果を呼び出し元に返す例です。
// addNum 関数の定義 function addNum(x : number, y : number) : number { let ans = x + y; return ans; // 呼び出し元に返す値 } let ans = addNum(3, 4); // 関数の呼び出し console.log(ans);
無名関数
無名関数は、文字通り名前のない関数です。無名関数は、変数に格納して使用します。
無名関数の書式を以下に示します。無名関数は関数名がないだけで、引数も戻り値も持たせることが可能です。
let 変数名 = function() { // 実行したい一連の処理 }
以下は、足し算をする無名関数の例です。関数そのものを addnum という変数に代入しています。この関数は、変数を関数であるかのようにして使用します。
// 無名関数の定義 let addnum = function (x : number, y : number) : number { return x + y; } let ans = addnum(2,3); // 5 console.log(ans);
コメント