Skip to content

Commit 3656d06

Browse files
committed
Resove conflict at line 62
1 parent b3965f4 commit 3656d06

File tree

1 file changed

+17
-0
lines changed
  • 1-js/05-data-types/07-map-set-weakmap-weakset

1 file changed

+17
-0
lines changed

1-js/05-data-types/07-map-set-weakmap-weakset/article.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,23 @@ alert(visitsCountMap.get(john)); // 123
5858

5959
Использование объектов в качестве ключей это одна из известных и часто применимых возможностей объекта `Map`. Для использования строковых ключей, объекта `Object` может быть достаточно, но будет достаточно сложно найти способ заменить объект `Map` обычным объектом `Object` в примере выше.
6060

61+
Например:
62+
63+
```js run
64+
let john = { name: "John" };
65+
66+
let visitsCountObj = {}; // попробуем использовать объект
67+
68+
visitsCountObj[john] = 123; // пробуем использовать объект john как ключ
69+
70+
*!*
71+
// That's what got written!
72+
alert( visitsCountObj["[object Object]"] ); // 123
73+
*/!*
74+
```
75+
76+
Так как `john` это объект, он был преобразован в строку `"[object Object]"`. Все объекты без специальной обработки подобных преобразований приводятся к подобной строке, так что будьте внимательны чтобы случайно всё не испортить.
77+
6178
Давным-давно, до появления `Map`, люди добавляли уникальные идентификаторы примерно таким образом:
6279

6380
```js run

0 commit comments

Comments
 (0)