SyntaxError en JavaScript

SyntaxError en JavaScript
SyntaxError en JavaScript

El objeto SyntaxError en javascript informa de un error al intentar interpretar código con una sintaxis incorrecta.

Estructura SyntaxError javascript

new SyntaxError([message])

message

Argumento opcional, una descripción textual del error dirigida a humanos.

Propiedades y funciones SyntaxError

SyntaxError.prototype

Este es el prototipo del objeto SyntaxError. El constructor SyntaxError no tiene ninguna función directamente relacionada con él, sino que hereda algunas propiedades a través de la cadena de prototipos.

Características de prototipo de objeto

El objeto prototipo de un objeto SyntaxError no tiene ninguno directamente afiliado a él, pero hereda algunas propiedades a través de la cadena del prototipo.

SyntaxError.prototype.constructor

Especifica la función que creará el prototipo de un objeto SyntaxError. Consulte las funciones Object.prototype.constructor para obtener más detalles.

SyntaxError.prototype.message

Mensaje de error. Aunque la especificación ECMAScript dice que un objeto debe proporcionar SyntaxError su propio valor a la propiedad message, hereda la propiedad Error.prototype.message en la mayoría de los motores de JavaScript.

SyntaxError.prototype.name

Nombre del error. Esta característica se hereda de Error.prototype.name.

Ejemplos y aplicaciones en código

Intentaremos generar código estructuralmente incorrecto usando la función eval en el siguiente ejemplo, y manejaremos la excepción usando una expresión try...catch:

try {
  eval('hoo bar');
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "missing ; before statement"
  console.log(e.name);                   // "SyntaxError"
}

Mostraremos un ejemplo de tal excepción lanzándola manualmente usando la palabra reservada throw:

try {
  throw new SyntaxError('Hello');
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "Hello"
  console.log(e.name);                   // "SyntaxError"
}

Soporte de navegadores

CaracterísticaChromeFirefoxIEOperaSafari
Soporte básico