JavaScript метод Function.toString()

JavaScript Function

Определение и применение

JavaScript метод Function.toString() возвращает строку, представляющую исходный код функции.


Обращаю Ваше внимание, что объект Function не наследует, а переопределяет метод Object.prototype.toString()


Для пользовательских функций метод toString() возвращает строку, содержащую сегмент исходного текста, который использовался для определения функции. JavaScript вызывает метод toString() автоматически, когда функция должна быть представлена в виде текстового значения, например, когда функция конкатенируется со строкой.

Если метод toString() вызывается на встроенных объектах функции или функции, созданной c использованием метода Function.prototype.bind, то метод toString() возвращает собственную строку функции, которая выглядит следующим образом.

"function () {\n    [native code]\n}"

Если метод toString() вызывается для функции, созданной конструктором Function, то возвращаемое значение будет соответствовать исходному коду синтезированного объявления функции с именем "anonymous", используя предоставленные параметры и тело функции.

Поддержка браузерами

МетодChrome
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
Edge
toString()ДаДаДаДаДаДа

JavaScript синтаксис:

function.toString()

Версия JavaScript

1.1 (ECMAScript 1st Edition)

Исключения

Тип исключенияОписание
TypeErrorВозникает в том случае, если его значение this не является объектом Function.

Пример использования

ФункцияРезультат вызова метода toString()
function f(){}"function f(){}"
class F { f(){} }"class F { f(){} }"
function* z(){}"function* z(){}"
z => z"z => z"
({ f(){} }.f)"f(){}"
({ *f(){} }.f)"*f(){}"
({ [0](){} }[0])"[0](){}"
Object.getOwnPropertyDescriptor({ get z(){} }, "z").get"get z(){}"
Object.getOwnPropertyDescriptor({ set a(x){} }, "a").set"set a(x){}"
Function.prototype.toString"function toString() { [native code] }"
(functionf(){}.bind(0))"function () { [native code] }"
Function( "a", "b" )"function anonymous(a\n) {\nb\n}"
JavaScript Function