JavaScript argumentsオブジェクトとcalleeのサンプル

JavaScriptのargumentsオブジェクトとcalleeプロパティのサンプルです。

確認環境
・Google Chrome

目次

サンプル argumentsオブジェクト
  argumentsオブジェクトのcalleeプロパティ

argumentsオブジェクト

argumentsオブジェクトのサンプルです。

<script>
  function test1() {
    console.log(arguments[0]); //2
    console.log(arguments[1]); //3
    console.log(arguments[2]); //undefined
    console.log(arguments.length); //2
  }

  test1(2, 3);
</script>

9行目は、引数に2と3をセットしています。
2行目の関数の引数はありません。
JavaScriptでは、この状態で関数を実行してもエラーになりません。

3行目は、argumentsオブジェクトに添え字をつけて確認しています。最初の添字は0からはじまります。最初の引数の2が表示されます。
4行目もargumentsオブジェクトで2つめの引数の3が表示されます。
5行目は、3つめの引数はないのでundefinedが表示されます。
6行目は、argumentsオブジェクトのlengthプロパティです。引数の数を確認できます。

 

argumentsオブジェクトのcalleeプロパティ

calleeプロパティのサンプルです。

<script>
  function test1() {
    return arguments.callee;
  }

  console.log(test1());
  //ƒ test1(){
  //	return arguments.callee;
  //}
  console.log(test1);
  //ƒ test1(){
  //	return arguments.callee;
  //}

  function test2() {
    return "arguments.callee";
  }
  console.log(test2());
  // arguments.callee
</script>

3行目は、calleeプロパティです。実行中の関数を取得します。
6行目は、2行目の関数を実行しています。
7-9行目が、calleeプロパティから取得した内容です。

10行目は、関数名の後にかっこ()がありません。関数の内容を表示します。

16行目は、文字列を返します。
18行目は、関数を実行し文字列を表示します。

関連の記事

JavaScript 関数宣言と関数式のサンプル
JavaScript 再帰関数のサンプル
JavaScript 関数のデフォルト引数のサンプル
JavaScript 関数式と無名関数と即時関数
JavaScript クロージャのサンプル
JavaScript 引数/戻り値が関数のサンプル(高階関数)

△上に戻る