docs.rodeo

MDN Web Docs mirror

ReferenceError

{{JSRef}} 

The ReferenceError object represents an error when a variable that doesn’t exist (or hasn’t yet been initialized) in the current scope is referenced.

ReferenceError is a {{Glossary("serializable object")}} , so it can be cloned with {{DOMxRef("Window.structuredClone", "structuredClone()")}}  or copied between Workers using {{domxref("Worker/postMessage()", "postMessage()")}} .

ReferenceError is a subclass of {{jsxref("Error")}} .

Constructor

Instance properties

Also inherits instance properties from its parent {{jsxref("Error")}} .

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

Instance methods

Inherits instance methods from its parent {{jsxref("Error")}} .

Examples

Catching a ReferenceError

try {
  let a = undefinedVariable;
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message); // "undefinedVariable is not defined"
  console.log(e.name); // "ReferenceError"
  console.log(e.stack); // Stack of the error
}

Creating a ReferenceError

try {
  throw new ReferenceError("Hello");
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message); // "Hello"
  console.log(e.name); // "ReferenceError"
  console.log(e.stack); // Stack of the error
}

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN