You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/03-strict-mode/article.md
+15-48Lines changed: 15 additions & 48 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,12 +19,8 @@ Par exemple
19
19
...
20
20
```
21
21
22
-
<<<<<<< HEAD
23
-
Nous allons apprendre les fonctions (un moyen de regrouper les commandes) bientôt. A l'avenir, notons que "use strict" peut être placé au début du corps de la fonction au lieu de l'intégralité du script. Faire cela active le mode strict dans cette fonction uniquement. Mais d'habitude, les gens l'utilisent pour tout le script.
22
+
Nous allons bientôt apprendre les fonctions (un moyen de regrouper les commandes). À l'avenir, notons que `"use strict"` peut être placé au début du corps de la fonction. Faire cela active le mode strict dans cette fonction uniquement. Mais d'habitude, les gens l'utilisent pour tout le script.
24
23
25
-
=======
26
-
Quite soon we're going to learn functions (a way to group commands), so let's note in advance that `"use strict"` can be put at the beginning of a function. Doing that enables strict mode in that function only. But usually people use it for the whole script.
27
-
>>>>>>> fbf443e414097e5a3a41dd1273ef9a4a3230e72c
28
24
29
25
````warn header="Assurez-vous que \"use strict\" est tout en haut"
30
26
Assurez-vous que `"use strict"` est en haut du script, sinon le mode strict peut ne pas être activé.
@@ -52,19 +48,13 @@ Une fois que nous entrons dans le mode strict, il n’y a plus de retour possibl
52
48
53
49
Pour l’avenir, lorsque vous utilisez une console de navigation pour tester des fonctionnalités, veuillez noter qu’elle n’utilise pas `use strict` par défaut.
54
50
55
-
<<<<<<< HEAD
56
-
Parfois, lorsque `use strict` fait une différence, vous obtenez des résultats incorrects.
57
-
58
-
Vous pouvez essayer d'appuyer sur `key:Shift+Enter` pour saisir plusieurs lignes et mettre `use strict` en haut comme cela :
59
-
=======
60
-
When you use a [developer console](info:devtools) to run code, please note that it doesn't `use strict` by default.
51
+
Lorsque vous utilisez une [console de développement](info:devtools) pour exécuter du code, veuillez noter qu'elle n'utilise pas `use strict` par défaut.
61
52
62
-
Sometimes, when `use strict` makes a difference, you'll get incorrect results.
53
+
Parfois, lorsque `use strict` fait une différence, vous obtenez des résultats incorrects.
63
54
64
-
So, how to actually `use strict` in the console?
55
+
Alors, comment utiliser `use strict` dans la console?
65
56
66
-
First, you can try to press `key:Shift+Enter` to input multiple lines, and put `use strict` on top, like this:
67
-
>>>>>>> fbf443e414097e5a3a41dd1273ef9a4a3230e72c
57
+
D'abord, vous pouvez essayer d'appuyer sur `key:Shift+Enter` pour saisir plusieurs lignes et mettre `use strict` en haut comme cela :
68
58
69
59
```js
70
60
'use strict'; <Shift+Enter for a newline>
@@ -74,51 +64,28 @@ First, you can try to press `key:Shift+Enter` to input multiple lines, and put `
74
64
75
65
Cela fonctionne dans la plupart des navigateurs, à savoir Firefox et Chrome.
76
66
77
-
<<<<<<< HEAD
78
-
Si ce n’est pas le cas, le moyen le plus fiable d’assurer `use strict` serait d'entrer le code dans la console comme ceci :
79
-
=======
80
-
If it doesn't, e.g. in an old browser, there's an ugly, but reliable way to ensure `use strict`. Put it inside this kind of wrapper:
81
-
>>>>>>> fbf443e414097e5a3a41dd1273ef9a4a3230e72c
67
+
Si ce n’est pas le cas, comme par exemple dans un ancien navigateur, le moyen le plus fiable d’assurer `use strict` serait d'encapsuler le code dans la console comme ceci :
82
68
83
69
```js
84
70
(function() {
85
71
'use strict';
86
72
87
-
<<<<<<<HEAD
88
-
// ...votre code...
89
-
})()
90
-
```
91
-
92
-
## Toujours utiliser "use strict"
93
-
94
-
Les différences entre le mode `"strict"` et le mode par "défaut" doivent encore être couvertes.
95
-
96
-
Dans les chapitres suivants, au fur et à mesure que nous apprendrons les fonctionnalités du langage, nous noterons les différences du mode strict. Heureusement, il n'y en a pas beaucoup. Et ils rendent notre vie meilleure.
97
-
98
-
À ce stade, il suffit de savoir en général :
99
-
100
-
1. La directive `"use strict"` fait passer le moteur en mode "moderne", modifiant le comportement de certaines fonctionnalités intégrées. Nous les verrons en détails pendant que nous étudions.
101
-
2. Le mode strict est activé par `"use strict"` en haut du fichier. Il existe également plusieurs fonctionnalités de langage telles que "classes" et "modules" qui permettent un mode strict automatiquement.
102
-
3. Le mode strict est pris en charge par tous les navigateurs modernes.
103
-
4. Il est toujours recommandé de lancer les scripts avec `"use strict"`. Tous les exemples de ce tutoriel le supposent, sauf si (très rarement) c'est spécifié autrement.
104
-
=======
105
-
// ...your code here...
73
+
// ... votre code ici ...
106
74
})()
107
75
```
108
76
109
-
## Should we "use strict"?
77
+
## Devrions-nous activer "use strict"?
110
78
111
-
The question may sound obvious, but it's not so.
79
+
La question peut sembler évidente, mais ce n'est pas le cas.
112
80
113
-
One could recommend to start scripts with `"use strict"`... But you know what's cool?
81
+
On pourrait recommander de démarrer les scripts avec`"use strict"`... Mais vous savez ce qui est cool?
114
82
115
-
Modern JavaScript supports "classes" and "modules" - advanced language structures (we'll surely get to them), that enable `use strict` automatically. So we don't need to add the `"use strict"` directive, if we use them.
83
+
Le JavaScript moderne prend en charge les "classes" et les "modules" -- des structures de langage avancées (nous y arriverons sûrement), qui activent automatiquement `use strict`. Nous n'avons donc pas besoin d'ajouter la directive `"use strict"`si nous les utilisons.
116
84
117
-
**So, for now `"use strict";` is a welcome guest at the top of your scripts. Later, when your code is all in classes and modules, you may omit it.**
85
+
**Donc, pour l'instant`"use strict";`est un invité bienvenu en haut de vos scripts. Plus tard, lorsque votre code est entièrement dans des classes et des modules, vous pouvez l'omettre.**
118
86
119
-
As of now, we've got to know about `use strict` in general.
87
+
A partir de maintenant, nous devons connaître `use strict`en général.
120
88
121
-
In the next chapters, as we learn language features, we'll see the differences between the strict and old modes. Luckily, there aren't many and they actually make our lives better.
89
+
Dans les chapitres suivants, au fur et à mesure que nous apprendrons les fonctionnalités du langage, nous verrons les différences entre les modes strict et anciens modes. Heureusement, il n'y en a pas beaucoup et ils améliorent en fait nos vies.
122
90
123
-
All examples in this tutorial assume strict mode unless (very rarely) specified otherwise.
124
-
>>>>>>> fbf443e414097e5a3a41dd1273ef9a4a3230e72c
91
+
Tous les exemples de ce tutoriel supposent le mode strict, sauf indication contraire (très rarement).
Il peut être intéressant de savoir qu'il existe aussi des langages de [programmation fonctionelle](https://fr.wikipedia.org/wiki/Programmation_fonctionnelle), comme [Scala](http://www.scala-lang.org/) ou [Erlang](http://www.erlang.org/) qui interdisent de modifier une valeur de variable.
141
-
=======
142
-
````warn header="Declaring twice triggers an error"
143
-
A variable should be declared only once.
138
+
````warn header="Déclarer deux fois déclenche une erreur"
139
+
Une variable ne doit être déclarée qu'une seule fois.
144
140
145
-
A repeated declaration of the same variable is an error:
141
+
Une déclaration répétée de la même variable est une erreur :
146
142
147
143
```js run
148
144
let message = "This";
149
145
150
-
// repeated 'let' leads to an error
146
+
// répéter 'let' conduit à une erreur
151
147
let message = "That"; // SyntaxError: 'message' has already been declared
152
148
```
153
-
So, we should declare a variable once and then refer to it without `let`.
149
+
Donc, nous devrions déclarer une variable une fois et y faire référence sans `let`.
154
150
````
155
151
156
-
```smart header="Functional languages"
157
-
It's interesting to note that there exist [functional](https://en.wikipedia.org/wiki/Functional_programming) programming languages, like [Scala](http://www.scala-lang.org/) or [Erlang](http://www.erlang.org/) that forbid changing variable values.
158
-
>>>>>>> fbf443e414097e5a3a41dd1273ef9a4a3230e72c
152
+
```smart header="Langages fonctionnels"
153
+
Il peut être intéressant de savoir qu'il existe aussi des langages de [programmation fonctionelle](https://fr.wikipedia.org/wiki/Programmation_fonctionnelle), comme [Scala](http://www.scala-lang.org/) ou [Erlang](http://www.erlang.org/) qui interdisent de modifier une valeur de variable.
159
154
160
155
Dans ce genre de langage, une fois la valeur stockée dans la boîte, elle est là pour toujours. Si nous devons stocker autre chose, le langage nous oblige à créer une nouvelle boîte (déclarer une nouvelle variable). Nous ne pouvons pas réutiliser l’ancienne.
161
156
@@ -209,12 +204,8 @@ let имя = '...';
209
204
let 我 = '...';
210
205
```
211
206
212
-
<<<<<<< HEAD
213
-
Techniquement, il n'y a pas d'erreur ici, ces noms sont autorisés, mais il existe une tradition internationale d'utiliser l'anglais dans les noms de variables. Même si nous écrivons un petit script, sa vie peut être longue. Les personnes d'autres pays peuvent avoir besoin de le lire quelque temps.
207
+
Techniquement, il n'y a pas d'erreur ici, ces noms sont autorisés, mais il existe une convention internationale d'utiliser l'anglais dans les noms de variables. Même si nous écrivons un petit script, sa vie peut être longue. Les personnes d'autres pays peuvent avoir besoin de les lire quelque temps.
214
208
215
-
=======
216
-
Technically, there is no error here. Such names are allowed, but there is an international convention to use English in variable names. Even if we're writing a small script, it may have a long life ahead. People from other countries may need to read it some time.
0 commit comments