Skip to content

Commit

Permalink
👾 smth
Browse files Browse the repository at this point in the history
  • Loading branch information
Rnbsov committed Jun 7, 2022
1 parent 368df06 commit ee0b57c
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions 1-js/05-data-types/07-map-set/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,20 +63,21 @@ visitsCountMap.set(john, 123);
alert(visitsCountMap.get(john)); // 123
```

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

Попробуем заменить `Map` на `Object` в примере выше:
Использование объектов в качестве ключей - одна из наиболее заметных и важных функций `Карты`. Это то что невозможно для `Object`. Строка в качестве ключа в `Object` - это нормально, но мы не можем использовать другой `Object` в качестве ключа в `Object`.

Давайте попробуем заменить `Map` на `Object`:
```js run
let john = { name: "John" };
let ben = { name: "Ben" };

let visitsCountObj = {}; // попробуем использовать объект

visitsCountObj[john] = 123; // возьмём объект john как ключ
visitsCountObj[ben] = 234; // пробуем использовать объект ben в качестве ключа
visitsCountObj[john] = 123; // пробуйем использовать объект john в качестве ключа, при этом объект ben будет замещён

*!*
// Вот как это было записано!
alert( visitsCountObj["[object Object]"] ); // 123
// Вот что там было записано!
alert( visitsCountObj["[object Object]"] ); // 123
*/!*
```

Expand Down

0 comments on commit ee0b57c

Please sign in to comment.