Tworzę mapę.
Ustawiam klucz key
i nadaję mu wartość 0
.
Inkrementuję wartość kluczowi key
.
Jeżeli klucz key
nie istnieje, tworzę go i ustawiam mu wartość na 0
.
Z tego co rozumiem, to instrukcja warunkowa nie powinna się wykonać, bo taki klucz istnieje, a jednak ustawia mi wartość klucza key
na 0
i inkrementuje wartość dwukrotnie.
let map = new Map();
map.set('key', 0);
map.set('key', map.get('key') + 1);
if (!('key' in map)) {
map.set('key', 0);
}
map.set('key', map.get('key') + 1);
map.set('key', map.get('key') + 1);
console.log(map);
// Map(1) {"k" => 2}
- Próbowałem z
hasOwnProperty()
. - Czego ja nie rozumiem? Wydaje mi się, że wartość dla
key
powinna wynosić3
.