Bug #044
🪲 Znajdź buga
const dictionary = new Map()
dictionary.car = "samochód"
dictionary.dog = "pies"
console.log(dictionary.get("car"))
console.log(dictionary.has("dog"))
Chcemy skorzystać z obiektu Map
do stworzenia prostego słownika.
Jakie odpowiedzi z wywołania metod zostaną zalogowane do konsoli?
🧪 Rozwiązanie
const dictionary = new Map()
dictionary.set("car", "samochód")
dictionary.set("dog", "pies")
console.log(dictionary.get("car"))
console.log(dictionary.has("dog"))
W przykładzie z błędem wywołanie metody get()
zwróci undefined
, a wywołanie metody has()
zwróci false
.
Obiekt mapy definiuje metody, które umożliwiają interakcje z elementami mapy, ale tylko wtedy gdy elementy zostaną uprzednio wprowadzone w poprawny sposób.
Dodając własności do obiektu w sposób tradycyjny, możemy je wyciągnąć również jedynie tradycyjną metodą tj. wywołując np. dictionary.car
.
Aby korzystać z mapy w sposób zgodny z przeznaczeniem, musimy dodawać nowe elementy za pomocą metody set()
.
Możemy też zdefiniować początkowe elementy przekazując je do konstruktora tworzącego nową mapę:
new Map([
["item1", "value2"],
["item2", "value2"],
])
🎢 Plac zabaw
Otwórz edytor w nowym oknie📑 Linki
- Map - JavaScript | MDN
- Map.prototype.get() - JavaScript | MDN
- Map.prototype.has() - JavaScript | MDN
- Map.prototype.set() - JavaScript | MDN
❤️ Podobają Ci się bugi JS?
Podziel się linkiem ze znajomymi:
https://codisity.pl/100-bugow-js