From 39f2114f9797eb51994966c6bb8ff1814c9a4da8 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 12:36:08 +0100 Subject: unslug fr: move --- .../erreurs/strict_non_simple_params/index.html | 115 --------------------- 1 file changed, 115 deletions(-) delete mode 100644 files/fr/web/javascript/reference/erreurs/strict_non_simple_params/index.html (limited to 'files/fr/web/javascript/reference/erreurs/strict_non_simple_params') diff --git a/files/fr/web/javascript/reference/erreurs/strict_non_simple_params/index.html b/files/fr/web/javascript/reference/erreurs/strict_non_simple_params/index.html deleted file mode 100644 index 5e931452e5..0000000000 --- a/files/fr/web/javascript/reference/erreurs/strict_non_simple_params/index.html +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: 'SyntaxError: "use strict" not allowed in function with "x" parameter' -slug: Web/JavaScript/Reference/Erreurs/Strict_Non_Simple_Params -tags: - - Erreurs - - JavaScript - - Reference - - TypeError -translation_of: Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params ---- -
{{jsSidebar("Errors")}}
- -

Message

- -
Edge:
-Cannot apply strict mode on functions with non-simple parameter list
-
-Firefox:
-SyntaxError: "use strict" not allowed in function with default parameter
-SyntaxError: "use strict" not allowed in function with rest parameter
-SyntaxError: "use strict" not allowed in function with destructuring parameter
-
-Chrome:
-SyntaxError: Illegal 'use strict' directive in function with non-simple parameter list
-
- -

Type d'erreur

- -

{{jsxref("SyntaxError")}}.

- -

Quel est le problème ?

- -

Une directive "use strict" apparaît au début d'une fonction qui possède l'un des paramètres suivants :

- - - -

Selon la spécification ECMAScript, une directive "use strict" ne peut pas être utilisée pour de telles fonctions.

- -

Exemples

- -

Déclaration de fonction

- -

Dans l'exemple qui suit, la fonction somme possède deux paramètres par défaut a=1 et b=2.

- -
function somme(a = 1, b = 2) {
-  // SyntaxError: "use strict" not allowed in function with default parameter
-  "use strict";
-  return a + b;
-}
-
- -

Si on veut que la fonction soit en mode strict et que le script entier ou que la fonction englobante peut être en mode strict, il suffira de déplacer l'instruction "use strict" en dehors du corps de la méthode.

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

Expression de fonction

- -

Il est également possible d'utiliser les expressions de fonction pour résoudre ce problème :

- -
var somme = function somme([a, b]) {
-  // SyntaxError: "use strict" not allowed in function with destructuring parameter
-  "use strict";
-  return a + b;
-};
-
- -

On peut convertir le fragment de code précédent avec l'expression suivante :

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

Fonction fléchée

- -

Si on a une fonction fléchée qui doit accéder à la variable this on peut utiliser une fonction fléchée comme fonction englobante :

- -
var callback = (...args) => {
-  // SyntaxError: "use strict" not allowed in function with rest parameter
-  "use strict";
-  return this.run(args);
-};
-
- -

This can be converted into following expression.

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

Voir aussi

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