A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/toString below:

Function.prototype.toString() - JavaScript | MDN

Function オブジェクトは、 Object から継承した toString メソッドをオーバーライドします。つまり、 Object.prototype.toString を継承しません。ユーザー定義の Function オブジェクトの場合、toString メソッドは関数を定義する際に使用したソーステキストの範囲を含む文字列を返します。

JavaScript では、関数を文字列として連結するなど、関数をテキスト値として表す場合、自動的に toString メソッドが呼び出されます。

this 値のオブジェクトが Function オブジェクトでない場合、 toString() メソッドは TypeError 例外 ("Function.prototype.toString called on incompatible object") を発生します。

Function.prototype.toString.call("foo"); // TypeError が発生

toString() メソッドが組み込み関数オブジェクトで呼び出された場合、 Function.prototype.bind() で作成された関数、またはその他の JavaScript 以外の関数で呼び出された場合、 toString() は、次のようなネイティブ関数文字列を返します。

function someName() { [native code] }

オブジェクトのメソッドや関数については、 someName は関数の初期名です。それ以外の場合、コンテンツは実装によって定義される場合がありますが、常にプロパティ名の構文、例えば、[1 + 1]、someName、1 などとなります。

メモ: これは、ネイティブ関数文字列で eval() を使用することは、構文エラーであることが保証されているということを意味しています。

toString() メソッドが Function コンストラクターによって作成された関数に対して呼び出されると、 toString() は、与えられた引数と関数本体を使用して "anonymous" という名前の合成関数宣言のソースコードを返します。例えば、 Function("a", "b", "return a + b").toString() は、以下を返します。

function anonymous(a,b
) {
return a + b
}

ES2018 以降、この仕様では、ホストがソースコードを何らかの理由で利用できない場合、 toString() の返値として、空白やコメントを含め、宣言されたソースコードとまったく同じソースコードを返すことが要求されます。または、ネイティブ関数の文字列を返すことが要求されます。この変更された動作の対応は、互換性一覧表で分かります。


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4