JavaScript の関数の戻り値
JavaScript 関数は、一連の手順を実行するための重要な構成要素の 1つです。これらの関数はプロシージャのようなものです。
タスクを実行する関数内に一連の命令が用意されています。唯一の違いは、関数には入力パラメーターが必要であり、呼び出し元の関数に何かを返す必要があることです。関数を使用するには、呼び出したいスコープのどこかに関数を定義する必要があります。
この記事では、JavaScript 関数から値を返す方法を説明します。
JavaScript 関数からの戻り値
関数定義は、function
キーワードで構成されます。関数定義は、関数ステートメントまたは関数宣言とも呼ばれます。その後に:
- 関数の名前。この関数名は、ファイルに対して一意である必要があります。
- 関数入力パラメータのリスト。これらのパラメーターは括弧で囲まれ、コンマで区切られます。
- 関数の内容は中括弧
{...}
で囲まれています。
構文:
ES6 以前
function fnName(params) {
/* perform actions on params */
return value;
}
ES6 以降
param => expression
ES6
標準はarrow 関数
をサポートします。これは、関数を定義し、値を返し、コードを中括弧で囲む前に function キーワードを定義する必要はありません。ES6 関数の詳細については、矢印関数
メソッドのドキュメントを参照してください。
この関数は、配列、リテラルオブジェクト、文字列、整数、ブール値、または戻り値をカプセル化する作成したカスタムタイプのオブジェクトなどを返すことができます。配列、リテラルオブジェクト、カスタムオブジェクトなど、あらゆるものをメソッドに渡して値をキャストできます。
関数は式として宣言できます。この関数は匿名の関数と呼ばれます。
匿名の関数には関数名がありません。関数内のステップを実行するには、関数を呼び出す必要があります。
詳細については、function
メソッドのドキュメントを参照してください。
オブジェクトの例:
function osObject() {
const returnedObject = {};
for (let i = 0; i < arguments.length; ++i) {
returnedObject['os' + i] = arguments[i];
}
return returnedObject;
}
const returnValue = osObject('Linux', 'MacOS', 'Windows', 'Ubuntu');
console.log(returnValue);
上記のコード例では、関数 osObject
を作成しました。この関数は、入力パラメーターを受け取り、入力値とともにオブジェクトを返します。return
キーワードは、関数が呼び出し元に何かを返していることを示します。
この例では、osObject
を返しています。上記のコードの出力は次のようになります。
出力:
{
os0: "Linux",
os1: "MacOS",
os2: "Windows",
os3: "Ubuntu"
}
配列の例:
function osArray() {
const returnedArray = [];
for (let i = 0; i < arguments.length; ++i) {
returnedArray.push(arguments[i]);
}
return returnedArray;
}
const returnValue = osArray('Linux', 'MacOS', 'Windows', 'Ubuntu');
console.log(returnValue);
上記のコード例では、関数 osArray
を作成しました。この関数は、arguments
の入力パラメーターを受け取り、入力値を含む配列を返します。return
キーワードは、関数が呼び出し元に何かを返していることを示します。
この例では、osArray
を返しています。上記のコードの出力の出力は次のようになります。
出力:
["Linux", "MacOS", "Windows", "Ubuntu"]
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn