The EvalError object indicates an error regarding the global eval() function. This exception is not thrown by JavaScript anymore, however the EvalError object remains for compatibility.

EvalError is a serializable object, so it can be cloned with structuredClone() or copied between Workers using postMessage().

EvalError is a subclass of Error.



Creates a new EvalError object.

Instance properties

Also inherits instance properties from its parent Error.

These properties are defined on EvalError.prototype and shared by all EvalError instances.


The constructor function that created the instance object. For EvalError instances, the initial value is the EvalError constructor.


Represents the name for the type of error. For EvalError.prototype.name, the initial value is "EvalError".

Instance methods

Inherits instance methods from its parent Error.


Creating an EvalError

try {
  throw new EvalError("Hello", "someFile.js", 10);
} catch (e) {
  console.log(e instanceof EvalError); // true
  console.log(e.message); // "Hello"
  console.log(e.name); // "EvalError"
  console.log(e.fileName); // "someFile.js"
  console.log(e.lineNumber); // 10
  console.log(e.columnNumber); // 0
  console.log(e.stack); // "@Scratchpad/2:2:9\n"


ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-evalerror

Browser compatibility

BCD tables only load in the browser

See also