引き続き、関数について学習していきましょう。
前回の記事をまだ読まれていない方は、こちらもあわせてどうぞ。
【JavaScript超入門】関数をマスターしよう今回はJavaScriptの関数について学習していきましょう。
関数は、パラメータを渡し、関数内で何かしらの処理を行い、その結果を...
今回は、関数の引数について、少し詳しく解説します。
基本的な引数の使い方
まずは基本的な引数の使い方について確認しましょう。
function add(num1, num2) { return num1 + num2; } let sum = add(1, 2); console.log(sum); // 3
関数の()の中に引数を定義することができます。
引数は複数、定義することができます。
定義した引数より少ない値を渡す場合
定義した引数が足りない場合も関数を呼べます。
function add(num1, num2) { console.log(num2); // undefined return num1 + num2; } let sum = add(1); console.log(sum); // NaN
定義した引数より多い値を渡す場合
定義した引数より多い値を渡す場合も関数を呼べます。
function add(num1, num2) { return num1 + num2; } let sum = add(1, 2, 3, 4, 5); console.log(sum); // 3
引数のデフォルト値を設定
引数にデフォルト値を設定することができます。
function add(num1 = 1, num2 = 2) { return num1 + num2; } let sum = add(); console.log(sum); // 3
引数に値を渡さなかった場合は、デフォルト値が適用されます。
可変長引数で複数の値を一度に渡す
もし引数が多い場合、
function add(num1, num2, num3, num4, num5, num6) {
このように引数を定義するのは大変です。また、引数が多くなるほど、可読性が悪くなると言われています。
可変長引数を使用することで、もっと短く書くことができます。
可変長引数は、「…」のようにドット3つ書くことで定義することができます。
function add(...nums) { let sum = 0; for(const num of nums) { sum += num } return sum; } let sum = add(1, 2 , 3, 4, 5); console.log(sum); // 3
「…」の書き方は、JavaScriptでよく使う書き方で、配列や、オブジェクトの展開でも使用するので、ぜひ慣れておきましょう。
名前付き引数
引数を名前付きで渡すこともできます。オブジェクトで渡すことで、受け渡し先の引数が明確になります。これを名前付き引数と言います。
また、名前付き引数を使用すると引数の順番が違ってもOKです。
function greet({name, word}) { console.log(name, word); } greet({word : 'good morning!', name:'suzuki'})