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/05-global-object/article.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ alert("Hello");
17
17
window.alert("Hello");
18
18
```
19
19
20
-
Dans un navigateur, les fonctions globales et les variables déclarées avec `var` (pas `let/const`!) Deviennent la propriété de l'objet global :
20
+
Dans un navigateur, les fonctions globales et les variables déclarées avec `var` (pas `let`/`const`!) deviennent la propriété de l'objet global :
21
21
22
22
```js run untrusted refresh
23
23
var gVar =5;
@@ -27,7 +27,7 @@ alert(window.gVar); // 5 (var est devenue une propriété de l'objet global)
27
27
28
28
Les fonctions déclarations ont le même effet (instructions avec le mot clé `function` dans le flux de code principal, pas les fonctions expressions).
29
29
30
-
Ne comptez pas là-dessus! Ce comportement existe pour des raisons de compatibilité. Les scripts modernes utilisent les [modules JavaScript](info:modules) où une telle chose ne se produit pas.
30
+
Ne comptez pas là-dessus! Ce comportement existe pour des raisons de compatibilité. Les scripts modernes utilisent les [modules JavaScript](info:modules) où une telle chose ne se produit pas.
31
31
32
32
Si nous utilisions `let` la place, une telle chose ne se produirait pas :
33
33
@@ -51,7 +51,7 @@ window.currentUser = {
51
51
alert(currentUser.name); // John
52
52
53
53
// ou, si nous avons une variable locale avec le nom "currentUser"
54
-
// obtenez la de window explicitement (c'est sécuritaire!)
54
+
// obtenez la de window explicitement (c'est sécuritaire!)
55
55
alert(window.currentUser.name); // John
56
56
```
57
57
@@ -62,6 +62,7 @@ Cela dit, l'utilisation de variables globales est généralement déconseillée.
62
62
Nous utilisons l'objet global pour tester le support des fonctionnalités du langage moderne.
63
63
64
64
Par exemple, nous pouvons tester si l'objet natif `Promise` existe (il n'existe pas dans les navigateurs très anciens) :
65
+
65
66
```js run
66
67
if (!window.Promise) {
67
68
alert("Your browser is really old!");
@@ -80,10 +81,10 @@ if (!window.Promise) {
80
81
81
82
- L'objet global contient des variables qui devraient être disponibles partout.
82
83
83
-
Ceci inclut les objets natifs de Javascript, tels que `Array` et des valeurs spécifiques à l'environnement, comme `window.innerHeight` -- l'hauteur de la fenêtre dans le navigateur.
84
+
Ceci inclut les objets natifs de JavaScript, tels que `Array` et des valeurs spécifiques à l'environnement, comme `window.innerHeight` -- l'hauteur de la fenêtre dans le navigateur.
84
85
- L'objet global porte un nom universel `globalThis`.
85
86
86
-
...Mais il est plus souvent appelé par des noms spécifiques à l'environnement de la vieille école, comme `window` (navigateur) et `global` (Node.js).
87
+
...Mais il est plus souvent appelé par des noms spécifiques à l'environnement de la vieille école, comme `window` (navigateur) et `global` (Node.js).
87
88
- Nous devons seulement stocker des valeurs dans l'objet global si elles sont réellement globales pour notre projet. Et gardez la quantité de ces valeurs à un minimum.
88
89
- Dans les navigateurs, à moins que nous utilisons des [modules](info:modules), les fonctions et variables globales déclarées avec `var` deviennent une propriété de l'objet global.
89
90
- Pour que notre code soit à l'épreuve du temps et plus facile à comprendre, nous devons accéder les propriétés de l'objet global directement, en utilisant `window.x`.
0 commit comments