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/04-object-basics/01-object/article.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,6 +92,7 @@ let user = {
92
92
```
93
93
Cela s'appelle une virgule "trailing" ou "hanging". Elle facilite l'ajout/suppression/déplacement des propriétés, car toutes les lignes se ressemblent.
94
94
95
+
<<<<<<< HEAD
95
96
````smart header="L'objet avec const peut être modifié"
96
97
Remarque: un objet déclaré comme `const` *peut* être modifié.
97
98
@@ -117,6 +118,9 @@ Il existe une autre façon de créer des propriétés d'objet constantes, nous l
117
118
````
118
119
119
120
## Crochets
121
+
=======
122
+
## Square brackets
123
+
>>>>>>> 23da191b58643387783f38e999f5b05be87d3d93
120
124
121
125
Pour les propriétés multi-mots, l’accès par points ne fonctionne pas :
Copy file name to clipboardExpand all lines: 1-js/04-object-basics/02-object-copy/article.md
+32Lines changed: 32 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,9 +73,13 @@ admin.name = 'Pete'; // changé par la référence "admin"
73
73
alert(*!*user.name*/!*); //'Pete', les changements sont visibles sur la référence "user"
74
74
```
75
75
76
+
<<<<<<< HEAD
76
77
C'est comme si l'on avait un cabinet avec deux clés et que on l'on utilisait l'un d'elles (`admin`) pour y accéder. Puis, si l'on utilise plus tard la clé (`user`) on peut voir les changements.
77
78
78
79
## Comparaison par référence
80
+
=======
81
+
It's just as if we had a cabinet with two keys and used one of them (`admin`) to get into it. Then, if we later use another key (`user`) we can see changes.
82
+
>>>>>>> 23da191b58643387783f38e999f5b05be87d3d93
79
83
80
84
Deux objets sont egaux seulement s'ils sont le même objet.
81
85
@@ -230,7 +234,35 @@ Pour régler ça, on doit utiliser la boucle de clonage qui examine chaque valeu
230
234
231
235
On peut utiliser la récursion pour l'implémenter. Ou, pour ne pas réinventer la roue, prendre un implémentation existante. par exemple [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep) de la librairie [lodash](https://lodash.com).
232
236
237
+
<<<<<<< HEAD
233
238
## Résumé
239
+
=======
240
+
```smart header="Const objects can be modified"
241
+
An important "side effect"of storing objects as references is that an object declared as `const`*can* be modified.
242
+
243
+
For instance:
244
+
245
+
```js run
246
+
const user = {
247
+
name: "John"
248
+
};
249
+
250
+
*!*
251
+
user.name = "Pete"; // (*)
252
+
*/!*
253
+
254
+
alert(user.name); // Pete
255
+
```
256
+
257
+
It might seem that the line `(*)` would cause an error, but no. The value of`user` is constant, it must always reference the same object. But properties of that object are free to change.
258
+
259
+
In other words, the `const user` gives an error only if we try to set `user=...` as a whole, and that's all.
260
+
261
+
That said, if we really need to make constant object properties, it's also possible, but using totally different methods, we'll mention that in the chapter <info:property-descriptors>.
262
+
```
263
+
264
+
## Summary
265
+
>>>>>>> 23da191b58643387783f38e999f5b05be87d3d93
234
266
235
267
Les objets sont assignés et copiés par référence. En d'autres mots, une variable ne stocke pas la "valeur de l'objet" mais la "référence" (l'adresse en mémoire) de la valeur. Donc copier cette variable, ou la passer en argument d'une fonction, copie la référence, pas l'objet.
Copy file name to clipboardExpand all lines: 2-ui/4-forms-controls/3-events-change-input/article.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,11 +77,21 @@ Par exemple, le code ci-dessous empêche tous ces événements et montre ce que
77
77
78
78
Veuillez noter qu'il est possible de copier/coller non seulement du texte, mais tout. Par exemple, nous pouvons copier un fichier dans le gestionnaire de fichiers du système d'exploitation et le coller.
79
79
80
+
<<<<<<< HEAD
80
81
Il y a une liste de méthodes [dans la spécification](https://www.w3.org/TR/clipboard-apis/#dfn-datatransfer) qui peuvent fonctionner avec différents types de données, y compris des fichiers, en lecture/écriture dans le presse-papiers.
81
82
82
83
Mais veuillez noter que le presse-papiers est une chose "globale" au niveau du système d'exploitation. La plupart des navigateurs n'autorisent l'accès en lecture/écriture au presse-papiers que dans le cadre de certaines actions de l'utilisateur pour raison de sécurité, par ex: dans les gestionnaires d'événements `onclick`.
83
84
84
85
Il est également interdit de générer des événements de presse-papiers "personnalisés" avec `dispatchEvent` dans tous les navigateurs, à l'exception de Firefox.
86
+
=======
87
+
That's because `clipboardData` implements `DataTransfer` interface, commonly used for drag'n'drop and copy/pasting. It's bit beyound our scope now, but you can find its methods [in the specification](https://html.spec.whatwg.org/multipage/dnd.html#the-datatransfer-interface).
88
+
89
+
```warn header="ClipboardAPI: user safety restrictions"
90
+
The clipboard is a "global" OS-level thing. So most browsers allow read/write access to the clipboard only in the scope of certain user actions for the safety, e.g. in `onclick` event handlers.
91
+
92
+
Also it's forbidden to generate "custom" clipboard events with `dispatchEvent` in all browsers except Firefox.
0 commit comments