JavaScript | 関数関連の便利な仕組み・プロパティ

JavaScript JavaScript
スポンサーリンク

それでは「実際にどんな場面で使うのか」をイメージしやすいように、日常的な処理を例にしてみましょう。


実用的なサンプルコード集

1. arguments を使って「入力の数で処理を変える」

function calc() {
  if (arguments.length === 1) {
    console.log("1つだけなので、そのまま返す:", arguments[0]);
  } else if (arguments.length === 2) {
    console.log("2つなので足し算:", arguments[0] + arguments[1]);
  } else {
    let total = 0;
    for (let i = 0; i < arguments.length; i++) {
      total += arguments[i];
    }
    console.log("3つ以上なので合計:", total);
  }
}

calc(5);        // => そのまま返す: 5
calc(2, 3);     // => 足し算: 5
calc(1, 2, 3);  // => 合計: 6
JavaScript

👉 「渡された数に応じて動作を変える」典型例。


2. デフォルト引数で「省略時の初期値を設定」

function greet(name = "ゲスト", time = "昼") {
  console.log(`こんにちは、${name}さん!良い${time}を!`);
}

greet("太郎", "朝"); // => こんにちは、太郎さん!良い朝を!
greet("花子");       // => こんにちは、花子さん!良い昼を!
greet();             // => こんにちは、ゲストさん!良い昼を!
JavaScript

👉 「引数が来なくても安全に動く」ようにできる。


3. 可変長引数(rest)で「ログ関数を作る」

function logAll(...msgs) {
  msgs.forEach((msg, i) => {
    console.log(`メッセージ${i + 1}:`, msg);
  });
}

logAll("Hello", "World", "JavaScript");
// => メッセージ1: Hello
// => メッセージ2: World
// => メッセージ3: JavaScript
JavaScript

👉 「何個でも受け取れる」のでログやデバッグに便利。


4. caller のイメージ(参考程度)

function foo() {
  console.log("呼び出し元:", foo.caller && foo.caller.name);
}

function bar() {
  foo();
}

bar(); // => 呼び出し元: bar
JavaScript

👉 実際の開発ではほぼ使わないけど、「呼び出し元を調べられる」ことを知っておくと古いコードを読むときに役立つ。


まとめ

  • arguments → 実際に渡された引数を全部見る(古いコードでよく登場)。
  • デフォルト引数 → 「省略時の初期値」を設定できる。
  • rest パラメータ → 「残り全部を配列で受け取る」。
  • caller → 呼び出し元を参照できるが非推奨。

ここまでで「関数まわりの便利な仕組み」を整理しました。
次のステップとしては、「自分で小さなユーティリティ関数を作ってみる」のがおすすめです。

タイトルとURLをコピーしました