--- title: SyntaxError slug: Web/JavaScript/Reference/Global_Objects/SyntaxError tags: - Constructor - Error - JavaScript - SyntaxError translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError original_slug: Web/JavaScript/Referencia/Objetos_globales/SyntaxError ---
{{JSRef}}

El objeto SyntaxError representa un error cuando se trata de interpretar codigo sintacticamente invalido.

Descripción

Un SyntaxError es lanzado cuando el motor de JavaScript se encuentra con partes de código que no forman parte de la sintaxtis del lenguaje al momento analizar el código.

Sintaxis

new SyntaxError([mensaje[, nombreArchivo[, numeroLinea]]])

Parametros

mensaje
Opcional. Descripción legible del error.
nombreArchivo {{non-standard_inline}}
Opcional. El nombre del archivo que contiene el código que causó la excepción.
numeroLinea {{non-standard_inline}}
Opcional. El numero de linea del código que causó la excepción.

Propiedades

{{jsxref("SyntaxError.prototype")}}
Permite el agregado de propiedades al objeto SyntaxError.

Metodos

El objeto global SyntaxError no contiene metodos propios, sin embargo, hereda algunos metodos debido a la cadena de prototipos.

Instancias de SyntaxError

Propiedades

{{page('/es/docs/Web/JavaScript/Referencia/Objetos_globales/SyntaxError/prototype', 'Propiedades')}}

Metodos

{{page('/es/docs/Web/JavaScript/Referencia/Objetos_globales/SyntaxError/prototype', 'Metodos')}}

Ejemplos

Capturando un SyntaxError

try {
  eval('hoo bar');
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "missing ; before statement"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "Scratchpad/1"
  console.log(e.lineNumber);             // 1
  console.log(e.columnNumber);           // 4
  console.log(e.stack);                  // "@Scratchpad/1:2:3\n"
}

Creando un SyntaxError

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

Especificaciones

Specification Status Comment
{{SpecName('ES3')}} {{Spec2('ES3')}} Initial definition.
{{SpecName('ES5.1', '#sec-15.11.6.4', 'SyntaxError')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}} {{Spec2('ESDraft')}}  

Compatibilidad con Navegarores

{{CompatibilityTable}}
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}

Véase también