From a55b575e8089ee6cab7c5c262a7e6db55d0e34d6 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:46:50 +0100 Subject: unslug es: move --- .../reference/errors/bad_regexp_flag/index.html | 113 ++++++++++++++++++++ .../reference/errors/caracter_ilegal/index.html | 83 --------------- .../index.html | 72 ------------- .../reference/errors/illegal_character/index.html | 83 +++++++++++++++ .../errors/indicador_regexp_no-val/index.html | 113 -------------------- .../missing_semicolon_before_statement/index.html | 72 +++++++++++++ .../errors/strict_non_simple_params/index.html | 117 +++++++++++++++++++++ .../index.html" | 117 --------------------- 8 files changed, 385 insertions(+), 385 deletions(-) create mode 100644 files/es/web/javascript/reference/errors/bad_regexp_flag/index.html delete mode 100644 files/es/web/javascript/reference/errors/caracter_ilegal/index.html delete mode 100644 files/es/web/javascript/reference/errors/falta_puntoycoma_antes_de_declaracion/index.html create mode 100644 files/es/web/javascript/reference/errors/illegal_character/index.html delete mode 100644 files/es/web/javascript/reference/errors/indicador_regexp_no-val/index.html create mode 100644 files/es/web/javascript/reference/errors/missing_semicolon_before_statement/index.html create mode 100644 files/es/web/javascript/reference/errors/strict_non_simple_params/index.html delete mode 100644 "files/es/web/javascript/reference/errors/strict_y_par\303\241metros_complejos/index.html" (limited to 'files/es/web/javascript/reference/errors') diff --git a/files/es/web/javascript/reference/errors/bad_regexp_flag/index.html b/files/es/web/javascript/reference/errors/bad_regexp_flag/index.html new file mode 100644 index 0000000000..3bb05d9b89 --- /dev/null +++ b/files/es/web/javascript/reference/errors/bad_regexp_flag/index.html @@ -0,0 +1,113 @@ +--- +title: 'SyntaxError: indicador de expresión regular no válido "x"' +slug: Web/JavaScript/Reference/Errors/Indicador_regexp_no-val +tags: + - Error + - Error de sintaxis + - JavaScript + - SyntaxError +translation_of: Web/JavaScript/Reference/Errors/Bad_regexp_flag +--- +
{{jsSidebar("Errors", "Errores")}}
+ +

La excepción de JavaScript "indicador de expresión regular no válido" se produce cuando las indicadores, definidas después de la segunda barra en la expresión regular literal, no son de g, i, m, s, u o y.

+ +

Mensaje

+ +
SyntaxError: error de sintaxis en la expresión regular (Edge)
+SyntaxError: marca de expresión regular no válida "x" (Firefox)
+SyntaxError: indicadores de expresión regular no válidos (Chrome)
+
+ +

Tipo Error

+ +

{{jsxref("SyntaxError")}}

+ +

¿Qué salió mal?

+ +

Hay indicadores de expresión regular no válidos en el código. En una expresión regular literal, que consiste en un patrón encerrado entre barras, los indicadores se definen después de la segunda barra. También se pueden definir en la función constructora del objeto {{jsxref("RegExp")}} (segundo parámetro). Los indicadores de expresión regular se pueden usar por separado o juntos en cualquier orden, pero solo hay seis de ellos en ECMAScript.

+ +

Para incluir una bandera con la expresión regular, usa esta sintaxis:

+ +
var re = /patrón/indicadores;
+
+ +

o

+ +
var re = new RegExp('patrón', 'indicadores');
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Indicadores de expresión regular
BanderaDescripción
gBúsqueda global.
iBúsqueda que no distingue entre mayúsculas y minúsculas.
mBúsqueda multilínea.
sPermite que el punto (.) coincida con las nuevas líneas (agregado en ECMAScript 2018)
uUnicode; trata el patrón como una secuencia de puntos de código Unicode
yRealiza una búsqueda "pegajosa" que coincida a partir de la posición actual en la cadena de destino. Consulta {{jsxref("RegExp.sticky", "sticky")}}
+ +

Ejemplos

+ +

Solo hay seis indicadores de expresión regular válidos.

+ +
/foo/bar;
+
+// SyntaxError: indicador de expresión regular no válido "b"
+
+ +

¿Tenías la intención de crear una expresión regular? Una expresión que contiene dos barras se interpreta como una expresión regular literal.

+ +
let obj = {
+  url: /docs/Web
+};
+
+// SyntaxError: indicador de expresión regular no válido "W"
+
+ +

¿O pretendías crear una cadena en su lugar? Agrega comillas simples o dobles para crear una cadena literal.

+ +
let obj = {
+  url: '/docs/Web'
+};
+ +

Indicadores de expresión regular válidos

+ +

Consulta la tabla anterior para ver las seis marcas de expresiones regulares válidas que están permitidas en JavaScript.

+ +
/foo/g;
+/foo/gims;
+/foo/uy;
+
+ +

Ve también

+ + diff --git a/files/es/web/javascript/reference/errors/caracter_ilegal/index.html b/files/es/web/javascript/reference/errors/caracter_ilegal/index.html deleted file mode 100644 index cc9422a21d..0000000000 --- a/files/es/web/javascript/reference/errors/caracter_ilegal/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: 'ErrorDeSintaxis: Caracter ilegal' -slug: Web/JavaScript/Reference/Errors/caracter_ilegal -tags: - - Error - - Error de sintaxis - - JavaScript - - SyntaxError - - errores -translation_of: Web/JavaScript/Reference/Errors/Illegal_character ---- -
{{jsSidebar("Errors")}}
- -

Mensaje

- -
SyntaxError: illegal character (Firefox)
-SyntaxError: Invalid or unexpected token (Chrome)
- -
ErrorDeSintasix: Carácter ilegal (Firefox)
-ErrorDeSintasix: Componente léxico inválido o inesperado (Chrome)
-
- -

Tipo de error

- -

{{jsxref("SyntaxError")}}  {{jsxref("ErrorDeSintaxis")}}

- -

¿Qué salió mal?

- -

Hay un componente léxico inválido o inesperado que no pertenece a su posición en el código. Utilice un editor que soporte el resaltado de sintaxis y que revise cuidadosamente su código contra discrepancias como un signo menos ( - ) contra un guion () o comillas simples ( " ) contra comillas no estándar ().

- -

Ejemplos

- -

Caracteres no coincidentes

- -

Algunos caracteres parecen iguales, pero hará que el analizador falle al interpretar su código.

- -
“Esto parece una cadena de caracteres”;
-// SyntaxError: illegal character
-// ErrorDeSintaxis: Carácter ilegal
-
-42 – 13;
-// SyntaxError: illegal character
-// ErrorDeSintaxis: Carácter ilegal
-
- -

Esto debería funcionar:

- -
"Esto en realidad es una cadena de caracteres";
-
-42 - 13;
-
- -

Caracteres olvidados

- -

Es fácil olvidar caracteres aquí o allí.

- -
var colors = ['#000', #333', '#666'];
-// SyntaxError: illegal character
-// ErrorDeSintaxis: Carácter ilegal
-
- -

Agregue la comilla olvidada para '#333'.

- -
var colors = ['#000', '#333', '#666'];
- -

Caracteres escondidos

- -

Cuando copia y pega un código de una fuente externa, puede haber caracteres inválidos. ¡Cuidado!

- -
var foo = 'bar';​
-// SyntaxError: illegal character
-// ErrorDeSintaxis: Carácter ilegal
-
- -

Al inspeccionar este código en un editor como Vim, puede ver que en realidad hay un carácter de espacio de ancho cero (ZWSP) (U+200B).

- -
var foo = 'bar';​<200b>
- -

Vea también

- - diff --git a/files/es/web/javascript/reference/errors/falta_puntoycoma_antes_de_declaracion/index.html b/files/es/web/javascript/reference/errors/falta_puntoycoma_antes_de_declaracion/index.html deleted file mode 100644 index c03cb15dd2..0000000000 --- a/files/es/web/javascript/reference/errors/falta_puntoycoma_antes_de_declaracion/index.html +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 'ErrordeSintaxis: Punto y coma ; faltante antes de la declaracion' -slug: Web/JavaScript/Reference/Errors/Falta_puntoycoma_antes_de_declaracion -tags: - - JavaScript - - errores - - errorsintaxis - - puntoycoma -translation_of: Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement ---- -
{{jsSidebar("Errores")}}
- -

Mensaje

- -
Error de Sintaxis: Punto y coma ; faltante antes de la declaración
-
- -

Tipo de Error

- -

{{jsxref("SyntaxError")}}.

- -

¿Qué salio mal?

- -

Hay un punto y coma (;) faltando en alguna parte. Las declaraciones Javascript deben terminar con punto y coma. Algunas de ellas son afectadas por la inserción automática (ASI), pero en este caso necesitas colocar un punto y coma, de esta forma Javascript puede analizar el código fuente de forma correcta.

- -

Sin embargo, algunas veces, este error es solo una consecuencia de otro error, como no separar las cadenas de texto correctamente, o usar var incorrectamente. Tal vez tengas muchos paréntesis en algún lugar. Revisa cuidadosamente la sintaxis cuando este error es lanzado.

- -

Ejemplo

- -

Cadenas de texto (strings) sin terminar

- -

Este error puede pasar fácilmente cuando no se colocan las comillas correctamente y el motor de JavaScript esta esperando el final de la cadena. por ejemplo:

- -
var foo = 'El bar de Tom's';
-// Error de Sintaxis: Punto y coma ; faltante antes de la declaración
- -

En este caso se pueden usar comillas dobles para escapar del apóstrofe:

- -
var foo = "El bar de Tom's";
-var foo = 'El bar de Tom\'s';
-
- -
-

Nota: Este error suele pasar frecuentemene con cadenas del idioma Inglés

-
- -

Declarar propiedades con var

- -

No se pueden declarar propiedades de un objeto o arreglo con una declaración var

- -
var obj = {};
-var obj.foo = 'hola'; // Error de Sintaxis: Punto y coma ; faltante antes de la declaración
-
-var array = [];
-var array[0] = 'mundo'; // Error de Sintaxis: Punto y coma ; faltante antes de la declaración
-
- -

En vez de esto. omitamos la palabra  var:

- -
var obj = {};
-obj.foo = 'hola';
-
-var array = [];
-array[0] = 'mundo';
-
- -

Ver también:

- - diff --git a/files/es/web/javascript/reference/errors/illegal_character/index.html b/files/es/web/javascript/reference/errors/illegal_character/index.html new file mode 100644 index 0000000000..cc9422a21d --- /dev/null +++ b/files/es/web/javascript/reference/errors/illegal_character/index.html @@ -0,0 +1,83 @@ +--- +title: 'ErrorDeSintaxis: Caracter ilegal' +slug: Web/JavaScript/Reference/Errors/caracter_ilegal +tags: + - Error + - Error de sintaxis + - JavaScript + - SyntaxError + - errores +translation_of: Web/JavaScript/Reference/Errors/Illegal_character +--- +
{{jsSidebar("Errors")}}
+ +

Mensaje

+ +
SyntaxError: illegal character (Firefox)
+SyntaxError: Invalid or unexpected token (Chrome)
+ +
ErrorDeSintasix: Carácter ilegal (Firefox)
+ErrorDeSintasix: Componente léxico inválido o inesperado (Chrome)
+
+ +

Tipo de error

+ +

{{jsxref("SyntaxError")}}  {{jsxref("ErrorDeSintaxis")}}

+ +

¿Qué salió mal?

+ +

Hay un componente léxico inválido o inesperado que no pertenece a su posición en el código. Utilice un editor que soporte el resaltado de sintaxis y que revise cuidadosamente su código contra discrepancias como un signo menos ( - ) contra un guion () o comillas simples ( " ) contra comillas no estándar ().

+ +

Ejemplos

+ +

Caracteres no coincidentes

+ +

Algunos caracteres parecen iguales, pero hará que el analizador falle al interpretar su código.

+ +
“Esto parece una cadena de caracteres”;
+// SyntaxError: illegal character
+// ErrorDeSintaxis: Carácter ilegal
+
+42 – 13;
+// SyntaxError: illegal character
+// ErrorDeSintaxis: Carácter ilegal
+
+ +

Esto debería funcionar:

+ +
"Esto en realidad es una cadena de caracteres";
+
+42 - 13;
+
+ +

Caracteres olvidados

+ +

Es fácil olvidar caracteres aquí o allí.

+ +
var colors = ['#000', #333', '#666'];
+// SyntaxError: illegal character
+// ErrorDeSintaxis: Carácter ilegal
+
+ +

Agregue la comilla olvidada para '#333'.

+ +
var colors = ['#000', '#333', '#666'];
+ +

Caracteres escondidos

+ +

Cuando copia y pega un código de una fuente externa, puede haber caracteres inválidos. ¡Cuidado!

+ +
var foo = 'bar';​
+// SyntaxError: illegal character
+// ErrorDeSintaxis: Carácter ilegal
+
+ +

Al inspeccionar este código en un editor como Vim, puede ver que en realidad hay un carácter de espacio de ancho cero (ZWSP) (U+200B).

+ +
var foo = 'bar';​<200b>
+ +

Vea también

+ + diff --git a/files/es/web/javascript/reference/errors/indicador_regexp_no-val/index.html b/files/es/web/javascript/reference/errors/indicador_regexp_no-val/index.html deleted file mode 100644 index 3bb05d9b89..0000000000 --- a/files/es/web/javascript/reference/errors/indicador_regexp_no-val/index.html +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: 'SyntaxError: indicador de expresión regular no válido "x"' -slug: Web/JavaScript/Reference/Errors/Indicador_regexp_no-val -tags: - - Error - - Error de sintaxis - - JavaScript - - SyntaxError -translation_of: Web/JavaScript/Reference/Errors/Bad_regexp_flag ---- -
{{jsSidebar("Errors", "Errores")}}
- -

La excepción de JavaScript "indicador de expresión regular no válido" se produce cuando las indicadores, definidas después de la segunda barra en la expresión regular literal, no son de g, i, m, s, u o y.

- -

Mensaje

- -
SyntaxError: error de sintaxis en la expresión regular (Edge)
-SyntaxError: marca de expresión regular no válida "x" (Firefox)
-SyntaxError: indicadores de expresión regular no válidos (Chrome)
-
- -

Tipo Error

- -

{{jsxref("SyntaxError")}}

- -

¿Qué salió mal?

- -

Hay indicadores de expresión regular no válidos en el código. En una expresión regular literal, que consiste en un patrón encerrado entre barras, los indicadores se definen después de la segunda barra. También se pueden definir en la función constructora del objeto {{jsxref("RegExp")}} (segundo parámetro). Los indicadores de expresión regular se pueden usar por separado o juntos en cualquier orden, pero solo hay seis de ellos en ECMAScript.

- -

Para incluir una bandera con la expresión regular, usa esta sintaxis:

- -
var re = /patrón/indicadores;
-
- -

o

- -
var re = new RegExp('patrón', 'indicadores');
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Indicadores de expresión regular
BanderaDescripción
gBúsqueda global.
iBúsqueda que no distingue entre mayúsculas y minúsculas.
mBúsqueda multilínea.
sPermite que el punto (.) coincida con las nuevas líneas (agregado en ECMAScript 2018)
uUnicode; trata el patrón como una secuencia de puntos de código Unicode
yRealiza una búsqueda "pegajosa" que coincida a partir de la posición actual en la cadena de destino. Consulta {{jsxref("RegExp.sticky", "sticky")}}
- -

Ejemplos

- -

Solo hay seis indicadores de expresión regular válidos.

- -
/foo/bar;
-
-// SyntaxError: indicador de expresión regular no válido "b"
-
- -

¿Tenías la intención de crear una expresión regular? Una expresión que contiene dos barras se interpreta como una expresión regular literal.

- -
let obj = {
-  url: /docs/Web
-};
-
-// SyntaxError: indicador de expresión regular no válido "W"
-
- -

¿O pretendías crear una cadena en su lugar? Agrega comillas simples o dobles para crear una cadena literal.

- -
let obj = {
-  url: '/docs/Web'
-};
- -

Indicadores de expresión regular válidos

- -

Consulta la tabla anterior para ver las seis marcas de expresiones regulares válidas que están permitidas en JavaScript.

- -
/foo/g;
-/foo/gims;
-/foo/uy;
-
- -

Ve también

- - diff --git a/files/es/web/javascript/reference/errors/missing_semicolon_before_statement/index.html b/files/es/web/javascript/reference/errors/missing_semicolon_before_statement/index.html new file mode 100644 index 0000000000..c03cb15dd2 --- /dev/null +++ b/files/es/web/javascript/reference/errors/missing_semicolon_before_statement/index.html @@ -0,0 +1,72 @@ +--- +title: 'ErrordeSintaxis: Punto y coma ; faltante antes de la declaracion' +slug: Web/JavaScript/Reference/Errors/Falta_puntoycoma_antes_de_declaracion +tags: + - JavaScript + - errores + - errorsintaxis + - puntoycoma +translation_of: Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement +--- +
{{jsSidebar("Errores")}}
+ +

Mensaje

+ +
Error de Sintaxis: Punto y coma ; faltante antes de la declaración
+
+ +

Tipo de Error

+ +

{{jsxref("SyntaxError")}}.

+ +

¿Qué salio mal?

+ +

Hay un punto y coma (;) faltando en alguna parte. Las declaraciones Javascript deben terminar con punto y coma. Algunas de ellas son afectadas por la inserción automática (ASI), pero en este caso necesitas colocar un punto y coma, de esta forma Javascript puede analizar el código fuente de forma correcta.

+ +

Sin embargo, algunas veces, este error es solo una consecuencia de otro error, como no separar las cadenas de texto correctamente, o usar var incorrectamente. Tal vez tengas muchos paréntesis en algún lugar. Revisa cuidadosamente la sintaxis cuando este error es lanzado.

+ +

Ejemplo

+ +

Cadenas de texto (strings) sin terminar

+ +

Este error puede pasar fácilmente cuando no se colocan las comillas correctamente y el motor de JavaScript esta esperando el final de la cadena. por ejemplo:

+ +
var foo = 'El bar de Tom's';
+// Error de Sintaxis: Punto y coma ; faltante antes de la declaración
+ +

En este caso se pueden usar comillas dobles para escapar del apóstrofe:

+ +
var foo = "El bar de Tom's";
+var foo = 'El bar de Tom\'s';
+
+ +
+

Nota: Este error suele pasar frecuentemene con cadenas del idioma Inglés

+
+ +

Declarar propiedades con var

+ +

No se pueden declarar propiedades de un objeto o arreglo con una declaración var

+ +
var obj = {};
+var obj.foo = 'hola'; // Error de Sintaxis: Punto y coma ; faltante antes de la declaración
+
+var array = [];
+var array[0] = 'mundo'; // Error de Sintaxis: Punto y coma ; faltante antes de la declaración
+
+ +

En vez de esto. omitamos la palabra  var:

+ +
var obj = {};
+obj.foo = 'hola';
+
+var array = [];
+array[0] = 'mundo';
+
+ +

Ver también:

+ + diff --git a/files/es/web/javascript/reference/errors/strict_non_simple_params/index.html b/files/es/web/javascript/reference/errors/strict_non_simple_params/index.html new file mode 100644 index 0000000000..2ca6ef8de4 --- /dev/null +++ b/files/es/web/javascript/reference/errors/strict_non_simple_params/index.html @@ -0,0 +1,117 @@ +--- +title: 'SyntaxError: "use strict" no permitida en función con parámetros complejos' +slug: Web/JavaScript/Reference/Errors/Strict_y_parámetros_complejos +tags: + - Error + - JavaScript + - TypeError + - errores +translation_of: Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params +--- +
{{jsSidebar("Errors", "Errores")}}
+ +

La excepción de JavaScript: "'use strict' no permitida en función" ocurre cuando se usa una directiva "use strict" en la parte superior de una función con {{jsxref("Functions/Default_parameters", "parámetros predeterminados", "", 1)}}, {{jsxref("Functions/rest_parameters", "parámetros rest", "", 1)}} o {{jsxref("Operators/Destructuring_assignment" , "Desestructuración de parámetros", "", 1)}}.

+ +

Mensaje

+ +
Edge:
+No se puede aplicar el modo estricto en funciones con una lista de parámetros complejos
+
+Firefox:
+SyntaxError: "use strict" no permitido en la función con parámetro predeterminado
+SyntaxError: "use strict" no permitido en la función con parámetro rest
+SyntaxError: "use strict" no permitido en la función con parámetro de desestructuración
+
+Chrome:
+SyntaxError: directiva ilegal 'use strict' en función con una lista de parámetros complejos
+
+ +

Tipo Error

+ +

{{jsxref("SyntaxError")}}.

+ +

¿Qué salió mal?

+ +

Se escribió una directiva "use strict" en la parte superior de una función que tiene uno de los siguientes parámetros:

+ + + +

No está permitida una directiva "use strict" en la parte superior de dichas funciones según la especificación ECMAScript.

+ +

Ejemplos

+ +

Declaración de función

+ +

En este caso, la función sum tiene los parámetros predeterminados a = 1 y b = 2:

+ +
function sum(a = 1, b = 2) {
+  SyntaxError: 'use strict' no permitida en la función con parámetros predeterminados
+  'use strict';
+  return a + b;
+}
+
+ +

Si la función debe estar en modo estricto, y todo el script o la función adjunta también está bien que esté en modo estricto, puedes mover la directiva "use strict" fuera de la función:

+ +
'use strict';
+function sum(a = 1, b = 2) {
+  return a + b;
+}
+
+ +

Expresión Function

+ +

Una expresión function puede usar otra solución alternativa:

+ +
var sum = function sum([a, b]) {
+  // SyntaxError: "use strict" no permitido en función con parámetros de desestructuración
+  'use strict';
+  return a + b;
+};
+
+ +

Esta se puede convertir a la siguiente expresión:

+ +
var sum = (function() {
+  'use strict';
+  return function sum([a, b]) {
+    return a + b;
+  };
+})();
+
+ +

Función de flecha

+ +

Si una función de flecha necesita acceder a la variable this, puedes usar la función de flecha como función circundante:

+ +
var callback = (...args) => {
+  SyntaxError: "use strict" no permitido en la función con parámetro rest
+  'use strict';
+  return this.run(args);
+};
+
+ +

Esta se puede convertir a la siguiente expresión:

+ +
var callback = (() => {
+  'use strict';
+  return (...args) => {
+    return this.run(args);
+  };
+})();
+
+ +

Ve también

+ + diff --git "a/files/es/web/javascript/reference/errors/strict_y_par\303\241metros_complejos/index.html" "b/files/es/web/javascript/reference/errors/strict_y_par\303\241metros_complejos/index.html" deleted file mode 100644 index 2ca6ef8de4..0000000000 --- "a/files/es/web/javascript/reference/errors/strict_y_par\303\241metros_complejos/index.html" +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: 'SyntaxError: "use strict" no permitida en función con parámetros complejos' -slug: Web/JavaScript/Reference/Errors/Strict_y_parámetros_complejos -tags: - - Error - - JavaScript - - TypeError - - errores -translation_of: Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params ---- -
{{jsSidebar("Errors", "Errores")}}
- -

La excepción de JavaScript: "'use strict' no permitida en función" ocurre cuando se usa una directiva "use strict" en la parte superior de una función con {{jsxref("Functions/Default_parameters", "parámetros predeterminados", "", 1)}}, {{jsxref("Functions/rest_parameters", "parámetros rest", "", 1)}} o {{jsxref("Operators/Destructuring_assignment" , "Desestructuración de parámetros", "", 1)}}.

- -

Mensaje

- -
Edge:
-No se puede aplicar el modo estricto en funciones con una lista de parámetros complejos
-
-Firefox:
-SyntaxError: "use strict" no permitido en la función con parámetro predeterminado
-SyntaxError: "use strict" no permitido en la función con parámetro rest
-SyntaxError: "use strict" no permitido en la función con parámetro de desestructuración
-
-Chrome:
-SyntaxError: directiva ilegal 'use strict' en función con una lista de parámetros complejos
-
- -

Tipo Error

- -

{{jsxref("SyntaxError")}}.

- -

¿Qué salió mal?

- -

Se escribió una directiva "use strict" en la parte superior de una función que tiene uno de los siguientes parámetros:

- - - -

No está permitida una directiva "use strict" en la parte superior de dichas funciones según la especificación ECMAScript.

- -

Ejemplos

- -

Declaración de función

- -

En este caso, la función sum tiene los parámetros predeterminados a = 1 y b = 2:

- -
function sum(a = 1, b = 2) {
-  SyntaxError: 'use strict' no permitida en la función con parámetros predeterminados
-  'use strict';
-  return a + b;
-}
-
- -

Si la función debe estar en modo estricto, y todo el script o la función adjunta también está bien que esté en modo estricto, puedes mover la directiva "use strict" fuera de la función:

- -
'use strict';
-function sum(a = 1, b = 2) {
-  return a + b;
-}
-
- -

Expresión Function

- -

Una expresión function puede usar otra solución alternativa:

- -
var sum = function sum([a, b]) {
-  // SyntaxError: "use strict" no permitido en función con parámetros de desestructuración
-  'use strict';
-  return a + b;
-};
-
- -

Esta se puede convertir a la siguiente expresión:

- -
var sum = (function() {
-  'use strict';
-  return function sum([a, b]) {
-    return a + b;
-  };
-})();
-
- -

Función de flecha

- -

Si una función de flecha necesita acceder a la variable this, puedes usar la función de flecha como función circundante:

- -
var callback = (...args) => {
-  SyntaxError: "use strict" no permitido en la función con parámetro rest
-  'use strict';
-  return this.run(args);
-};
-
- -

Esta se puede convertir a la siguiente expresión:

- -
var callback = (() => {
-  'use strict';
-  return (...args) => {
-    return this.run(args);
-  };
-})();
-
- -

Ve también

- - -- cgit v1.2.3-54-g00ecf