ReferenceError
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 serializable object, so it can be cloned with structuredClone()
or copied between Workers using postMessage()
.
ReferenceError
is a subclass of Error
.
Constructor
ReferenceError()
-
Creates a new
ReferenceError
object.
Instance properties
Also inherits instance properties from its parent Error
.
These properties are defined on ReferenceError.prototype
and shared by all ReferenceError
instances.
ReferenceError.prototype.constructor
-
The constructor function that created the instance object. For
ReferenceError
instances, the initial value is theReferenceError
constructor. ReferenceError.prototype.name
-
Represents the name for the type of error. For
ReferenceError.prototype.name
, the initial value is"ReferenceError"
.
Instance methods
Inherits instance methods from its parent 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.fileName); // "Scratchpad/1"
console.log(e.lineNumber); // 2
console.log(e.columnNumber); // 6
console.log(e.stack); // "@Scratchpad/2:2:7\n"
}
Creating a ReferenceError
try {
throw new ReferenceError("Hello", "someFile.js", 10);
} catch (e) {
console.log(e instanceof ReferenceError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "ReferenceError"
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"
}
Specifications
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-referenceerror |
Browser compatibility
BCD tables only load in the browser