Function.prototype プロパティは、Function プロトタイプオブジェクトを表します。
説明
Function オブジェクトの全ては、Function.prototype を継承します。Function.prototype は変更できません。
プロパティ
Function.arguments- 関数に渡した引数に一致する配列。これは
Functionオブジェクトのプロパティとしては、非推奨です。代わりに関数内に用意されているargumentsオブジェクトを使用してください。 Function.arity関数によって期待される引数の数を指定します。代わりにlengthプロパティを使用してください。Function.caller- 現在実行している関数を呼び出した関数を返します。
Function.length- 関数によって期待される引数の数を指定します。
Function.name- 関数の名前。
Function.prototype.constructor- オブジェクトのプロトタイプを生成する関数を指定します。詳細は
Object.prototype.constructorを参照してください。
メソッド
Function.prototype.apply()- 関数を呼び出して、this に提供した値を設定します。引数は
Arrayのように渡せます。 Function.prototype.bind()- 指定した this を持つ新しい関数を作成します。残りの引数は新しい関数を呼び出す時に渡されます。
Function.prototype.call()- 関数を呼び出して、this に提供した値を設定します。引数は、指定するオブジェクトのものとして渡すことができます。
Function.prototype.isGenerator()- 関数が generator である場合は
trueを返し、それ以外の場合はfalseを返します。 Function.prototype.toSource()- 関数のソースコードを表す文字列を返します。
Object.prototype.toSourceメソッドを上書きします。 Function.prototype.toString()- 関数のソースコードを表す文字列を返します。
Object.prototype.toStringメソッドを上書きします。
仕様
| 仕様 | ステータス | コメント |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | 標準 | 初期定義。JavaScript 1.1 で実装。 |
| ECMAScript 5.1 (ECMA-262) Function.prototype の定義 |
標準 | |
| ECMAScript 2015 (6th Edition, ECMA-262) Function.prototype の定義 |
標準 | |
| ECMAScript 2017 Draft (ECMA-262) Function.prototype の定義 |
ドラフト |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |