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 --- .../reference/errors/equal_as_assign/index.html | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 files/fr/web/javascript/reference/errors/equal_as_assign/index.html (limited to 'files/fr/web/javascript/reference/errors/equal_as_assign') diff --git a/files/fr/web/javascript/reference/errors/equal_as_assign/index.html b/files/fr/web/javascript/reference/errors/equal_as_assign/index.html new file mode 100644 index 0000000000..044132307f --- /dev/null +++ b/files/fr/web/javascript/reference/errors/equal_as_assign/index.html @@ -0,0 +1,53 @@ +--- +title: 'SyntaxError: test for equality (==) mistyped as assignment (=)?' +slug: Web/JavaScript/Reference/Erreurs/Equal_as_assign +tags: + - Erreurs + - JavaScript + - SyntaxError +translation_of: Web/JavaScript/Reference/Errors/Equal_as_assign +--- +
{{jsSidebar("Errors")}}
+ +

Message

+ +
Warning: SyntaxError: test for equality (==) mistyped as assignment (=)?
+
+ +

Type d'erreur

+ +

Uniquement pour Firefox. Un avertissement sous la forme d'une exception {{jsxref("SyntaxError")}}, généré uniquement si la préférence javascript.options.strict vaut true.

+ +

Quel est le problème ?

+ +

Le code utilise une affectation (=) là où on attendrait un test d'égalité (==). Afin d'aider au débogage, le moteur JavaScript déclenche des avertissements lorsqu'il détecte ce motif.

+ +

Exemples

+ +

Des affectations utilisées au sein d'expressions conditionnelles

+ +

Il est conseillé de ne pas utiliser d'affectations simples dans des expressions conditionnelles (comme le test effectué avec if...else) car on peut confondre les deux à la lecture du code. Ainsi, on n'utilisera pas la forme suivante :

+ +
if (x = y) {
+  // do the right thing
+}
+
+ +

Si on doit effectivement affecter une variable dans une expression conditionnelle, on entourera l'affectation d'une paire de parenthèses supplémentaires afin de montrer qu'on veut bien effectuer une affectation, comme ceci :

+ +
if ((x = y)) {
+  // exécuter le code
+}
+ +

Autrement (généralement), on veut plutôt utiliser un opérateur de comparaison (== ou === par exemple) :

+ +
if (x == y) {
+  // exécuter le code
+}
+ +

Voir aussi

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