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/06-advanced-functions/04-var/article.md
+11-11Lines changed: 11 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
2
2
# L'ancien "var"
3
3
4
-
Dans le tout premier chapitre à propos de[variables](info:variables), nous avons mentionné trois façons pour la déclaration de variables:
4
+
Dans le tout premier chapitre qui parle des[variables](info:variables), nous avons mentionné trois façons pour déclarer une variable:
5
5
6
6
1.`let`
7
7
2.`const`
@@ -31,7 +31,7 @@ alert(phrase); // Erreur, phrase n'est pas définie
31
31
32
32
## "var" n'a pas de portée limitée aux blocs
33
33
34
-
Les variables `var` sont globales ou à l'échelle de la fonction. En autres mots, elles sont visibles à travers les blocs.
34
+
Les variables `var` sont globales ou à l'échelle de la fonction. En d'autres mots, elles sont visibles à travers les blocs.
35
35
36
36
Par exemple:
37
37
@@ -67,7 +67,7 @@ for (var i = 0; i < 10; i++) {
67
67
}
68
68
69
69
*!*
70
-
alert(i); // 10, "i" est visible après boucle, c'est une variable globale
70
+
alert(i); // 10, "i" est visible après la boucle, c'est une variable globale
71
71
*/!*
72
72
```
73
73
@@ -83,16 +83,16 @@ function sayHi() {
83
83
}
84
84
85
85
sayHi();
86
-
alert(phrase); // Erreur : phrase n'est pas définie (vérifiez le Developer Console)
86
+
alert(phrase); // Erreur : phrase n'est pas définie (vérifiez la console développeur)
87
87
```
88
88
89
-
Comme nous pouvons constater, `var` pénètre à travers `if`, `for` ou autres blocs de code. C'est parce que, il y a longtemps, les blocs de JavaScript n'avaient pas d'environnements lexicaux. Et `var` est un vestige de ce dernier.
89
+
Comme nous pouvons le constater, `var` pénètre à travers `if`, `for` ou autres blocs de code. C'est parce que, il y a longtemps, les blocs de JavaScript n'avaient pas d'environnements lexicaux. Et `var` est un vestige de ce dernier.
90
90
91
91
## Les déclarations "var" sont traitées au début de la fonction
92
92
93
93
Les déclarations `var` sont traitées quand la fonction commence (ou quand le script commence pour le cas global).
94
94
95
-
En autres mots, les variables `var` sont définies au début de la fonction, peu importe où la définition se retrouve (présumant que la définition n'est pas dans une fonction imbriquée).
95
+
En d'autres mots, les variables `var` sont définies au début de la fonction, peu importe où la définition se retrouve (présumant que la définition n'est pas dans une fonction imbriquée).
96
96
97
97
Alors ce code:
98
98
@@ -109,7 +109,7 @@ function sayHi() {
109
109
sayHi();
110
110
```
111
111
112
-
...est techniquement identique à ceci (nous avons simplement bougé `var phrase` du code susmentionné):
112
+
...est techniquement identique à ceci (nous avons simplement bougé `var phrase` du code juste avant):
113
113
114
114
```js run
115
115
functionsayHi() {
@@ -143,11 +143,11 @@ sayHi();
143
143
144
144
Certains nomment ce comportement "hoisting" (hisser) parce que toutes les `var` sont "hoisted" (hissées) jusqu'en haut de la fonction.
145
145
146
-
Alors dans l'exemple susmentionné, la branche `if (false)` n'est jamais effectuée, mais ce n'est pas grave. La `var` à l'intérieur de cette branche est traitée au début de la fonction, alors au moment `(*)`, la variable existe.
146
+
Alors dans l'exemple au dessus, la branche `if (false)` n'est jamais exécutée, mais ce n'est pas grave. La `var` à l'intérieur de cette branche est traitée au début de la fonction, alors au moment `(*)`, la variable existe.
147
147
148
148
**Les déclarations sont hissées, mais les affectations ne le sont pas.**
149
149
150
-
Il convient mieux de démontrer cet énoncé avec un exemple, comme ceci :
150
+
Il convient mieux de démontrer cet énoncé avec un exemple, comme celui ci :
151
151
152
152
```js run
153
153
functionsayHi() {
@@ -186,9 +186,9 @@ sayHi();
186
186
187
187
Parce que toutes les déclarations `var` sont traitées au début de la fonction, nous pouvons y faire référence n'importe où. Mais les variables sont indéfinies jusqu'aux affectations.
188
188
189
-
Dans les deux exemples susmentionnés, `alert` fonctionne sans erreur parce que la variable `phrase` existe. Mais sa valeur n'est pas encore affectée, alors cela donne `undefined`.
189
+
Dans les deux exemples au dessus, `alert` fonctionne sans erreur parce que la variable `phrase` existe. Mais sa valeur n'est pas encore affectée, alors cela donne `undefined`.
190
190
191
-
## Sommaire
191
+
## Résumé
192
192
193
193
Il y a deux différences majeures entre `var` et `let/const`:
0 commit comments