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
keypowinna wynosić3.