ReferenceError
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
El objeto ReferenceError
representa un error cuando se hace referencia a una variable inexistente.
Constructor
ReferenceError()
-
Crea un nuevo objeto
ReferenceError
.
Propiedades de la instancia
ReferenceError.prototype.message
-
Mensaje de error. Aunque ECMA-262 especifica que
ReferenceError
debe proporcionar su propia propiedadmessage
, enSpiderMonkey
, heredaError.prototype.message
. ReferenceError.prototype.name
-
Nombre del error. Heredado de
Error
. ReferenceError.prototype.fileName
-
Ruta al archivo que generó este error. Heredado de
Error
. ReferenceError.prototype.lineNumber
-
Número de línea en el archivo que generó este error. Heredado de
Error
. ReferenceError.prototype.columnNumber
-
Número de columna en la línea que generó este error. Heredado de
Error
. ReferenceError.prototype.stack
-
Seguimiento de la pila. Heredado de
Error
.
Ejemplos
Capturar un ReferenceError
try {
let a = undefinedVariable;
} catch (e) {
console.log(e instanceof ReferenceError); // true
console.log(e.message); // "undefinedVariable no está definida"
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"
}
Crear un ReferenceError
try {
throw new ReferenceError("Hola", "someFile.js", 10);
} catch (e) {
console.log(e instanceof ReferenceError); // true
console.log(e.message); // "Hola"
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"
}
Especificaciones
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-referenceerror |
Compatibilidad con navegadores
BCD tables only load in the browser