Web/JavaScript/Reference/Global objects/Error/toSource

From Get docs

Non-standard This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.


The toSource() method returns code that could eval to the same error.

Syntax

e.toSource()

Return value

A string containing the source code of the error.

Examples

Using toSource

Calling the toSource method of an Error instance (including NativeErrors) will return a string containing the source code of the error. This string can be evaluated to create an (approximately) equal object. Naturally, the string containing the source follows the structure of the Error constructor. For example:

(newname(message ,fileName,lineNumber))

where these attributes correspond to the respective properties of the error instance.

Note: Be aware that the properties used by the toSource method in the creation of this string are mutable and may not accurately reflect the function used to create an error instance or the filename or line number where the actual error occurred.


Specifications

Not part of any standard.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js

toSource

Non-standard'

Chrome

No support No

Edge

No support No

Firefox No support 1 — 74

Notes'

No support 1 — 74

Notes'

Notes' Starting in Firefox 74, toSource() is no longer available for use by web content. It is still allowed for internal and privileged code.

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support No

Chrome Android

No support No

Firefox Android

Full support 4

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs

No support No

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.
See implementation notes.'
See implementation notes.


See also