TECH I.S.

JavaScript 関数のパラメータ


JavaScriptのfunctionでは、パラメーター値 (引数) のチェックは実行しません。


関数のパラメーターと引数

このチュートリアルの前半で、関数がパラメータを持つことができることを学びました。

function functionName(parameter1, parameter2, parameter3) {   // 関数内で実行する処理 }

関数のパラメータは関数定義に記載されている名前です。

関数の引数とは、関数に渡される(そして受け取る)実際値のことです。


パラメータ規則

JavaScriptの関数定義は、パラメーターのデータ型を指定しません。

JavaScriptの関数は、渡された引数に対して型チェックを行いません。

JavaScriptの関数は、受け取った引数の数をチェックしません。


デフォルト パラメータ

引数が足りない(宣言された値より少ない)状態で関数が呼び出された場合、足りない値はundefinedとなります。

これで問題ない場合もありますが、パラメータにデフォルト値を割り当てたほうがよい場合もあります。

function myFunction(x, y) {   if (y === undefined) {     y = 2;   } }

自分で試してみる»


パラメータのデフォルト値

ES6では、関数のパラメータにデフォルト値を持たせることができます。

引数yが渡されないか未定義の場合、y = 10です。

function myFunction(x, y = 10) {   return x + y; } myFunction(5);

自分で試してみる»


関数 rest パラメータ

rest パラメータ (...) を使用すると、関数は不特定の数の引数を配列として扱うことができます。

function sum(...args) {   let sum = 0;   for (let arg of args) sum += arg;   return sum; } let x = sum(4, 9, 16, 25, 29, 100, 66, 77);

自分で試してみる»



引数オブジェクト

JavaScriptの関数には、引数オブジェクトと呼ばれる組み込みオブジェクトがあります。

引数オブジェクトには、関数が呼び出されたときに使用された引数の配列が含まれています。

このようにして、単純に関数を使用して数値のリストの最大値を見つけることができます。

x = findMax(1, 123, 500, 115, 44, 88); function findMax() {   let max = -Infinity;   for (let i = 0; i < arguments.length; i++) {     if (arguments[i] > max) {       max = arguments[i];     }   }   return max; }

自分で試してみる»

または、すべての入力値を合計する関数を作成します。

x = sumAll(1, 123, 500, 115, 44, 88); function sumAll() {   let sum = 0;   for (let i = 0; i < arguments.length; i++) {     sum += arguments[i];   }   return sum; }

自分で試してみる»

引数が多すぎる(宣言された数より多い)関数が呼び出された場合、これらの引数にはargumentsオブジェクトを使ってアクセスすることができます。


引数は値で渡される

関数呼び出しのパラメーターは、関数の引数です。

JavaScript 引数はで渡されます。関数は知ることができるのは引数の場所ではなく、値だけです。

関数が引数の値を変更しても、パラメーターの元の値は変更されません。

引数の変更は、関数の外では見えません (反映されません)。


オブジェクトは参照渡し

JavaScriptでは、オブジェクト参照は値です。

このため、オブジェクトは参照渡しのように動作します。

関数がオブジェクトのプロパティを変更すると、元の値が変更されます。

オブジェクトのプロパティの変更は、関数の外部で表示 (反映) されます。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細