arguments.calleeについて[Strictモード]

2017年3月1日

argumentsオブジェクトは関数内で利用できるオブジェクトです(アロー関数を除く)。argumentsオブジェクトが持つcalleeプロパティは、そのargumentsオブジェクトを呼び出した関数自身を参照するプロパティです。

 

なおECMAScript第5版(ES5)のStrictモードでは、calleeプロパティ自体はすでに利用できない仕様となっています(エラーとなる)。

 

関連ページ

argumentsオブジェクトについて[arguments.length]

 

Strictモードについて

 

 

 

calleeは無名関数時に利用するプロパティで、再帰関数を作成する場合に利用されます。

 

実際にnの階乗を求める再帰的な上記コード見ると分かるように、3行目のcalleeプロパティはfactorialオブジェクトに代入されている匿名関数を参照します。結局は下記コードと同じことを実行しています。

 

 

 

 

Copyright © 2017 ウェブの葉 All Rights Reserved.  プライバシーポリシー