--- 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 --- <div>{{JSRef}}</div> <p>El objeto <code><strong>SyntaxError</strong></code> representa un error cuando se trata de interpretar codigo sintacticamente invalido.</p> <h2 id="Descripción">Descripción</h2> <p>Un <code>SyntaxError</code> 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.</p> <h2 id="Sintaxis">Sintaxis</h2> <pre class="syntaxbox"><code>new SyntaxError([<var>mensaje</var>[, <var>nombreArchivo</var>[, <var>numeroLinea</var>]]])</code></pre> <h3 id="Parametros">Parametros</h3> <dl> <dt><code>mensaje</code></dt> <dd>Opcional. Descripción legible del error.</dd> <dt><code>nombreArchivo</code> {{non-standard_inline}}</dt> <dd>Opcional. El nombre del archivo que contiene el código que causó la excepción.</dd> <dt><code>numeroLinea</code> {{non-standard_inline}}</dt> <dd>Opcional. El numero de linea del código que causó la excepción.</dd> </dl> <h2 id="Propiedades">Propiedades</h2> <dl> <dt>{{jsxref("SyntaxError.prototype")}}</dt> <dd>Permite el agregado de propiedades al objeto <code>SyntaxError</code>.</dd> </dl> <h2 id="Metodos">Metodos</h2> <p>El objeto global <code>SyntaxError</code> no contiene metodos propios, sin embargo, hereda algunos metodos debido a la cadena de prototipos.</p> <h2 id="Instancias_de_SyntaxError"><code>Instancias de SyntaxError</code></h2> <h3 id="Propiedades_2">Propiedades</h3> <div>{{page('/es/docs/Web/JavaScript/Referencia/Objetos_globales/SyntaxError/prototype', 'Propiedades')}}</div> <h3 id="Metodos_2">Metodos</h3> <div>{{page('/es/docs/Web/JavaScript/Referencia/Objetos_globales/SyntaxError/prototype', 'Metodos')}}</div> <h2 id="Ejemplos">Ejemplos</h2> <h3 id="Capturando_un_SyntaxError">Capturando un <code>SyntaxError</code></h3> <pre class="brush: js">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" } </pre> <h3 id="Creando_un_SyntaxError">Creando un <code>SyntaxError</code></h3> <pre class="brush: js">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" } </pre> <h2 id="Especificaciones">Especificaciones</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Specification</th> <th scope="col">Status</th> <th scope="col">Comment</th> </tr> <tr> <td>{{SpecName('ES3')}}</td> <td>{{Spec2('ES3')}}</td> <td>Initial definition.</td> </tr> <tr> <td>{{SpecName('ES5.1', '#sec-15.11.6.4', 'SyntaxError')}}</td> <td>{{Spec2('ES5.1')}}</td> <td> </td> </tr> <tr> <td>{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}}</td> <td>{{Spec2('ES6')}}</td> <td> </td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}}</td> <td>{{Spec2('ESDraft')}}</td> <td> </td> </tr> </tbody> </table> <h2 id="Compatibilidad_con_Navegarores">Compatibilidad con Navegarores</h2> <div>{{CompatibilityTable}}</div> <div id="compat-desktop"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari</th> </tr> <tr> <td>Basic support</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> </tbody> </table> </div> <div id="compat-mobile"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Android</th> <th>Chrome for Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Mobile</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>Basic support</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> </tbody> </table> </div> <h2 id="Véase_también">Véase también</h2> <ul> <li>{{jsxref("Error")}}</li> <li>{{jsxref("SyntaxError.prototype")}}</li> </ul>