Bug #002
🪲 Znajdź buga
const now = new Date()
const future = new Date(
now.setHours(now.getHours() + 6)
)
console.log({ now, future })
Jaka data zostanie zalogowana do konsoli dla now
, a jaka dla future
?
🧪 Rozwiązanie
const now = new Date()
const future = new Date()
future.setHours(now.getHours() + 6)
console.log({ now, future })
W błędnym przykładzie zarówno now
jak i future
zalogują do konsoli tą samą datę, odległą o 6 godzin w przyszłość.
Metoda setHours()
mutuje obiekt daty, na którym zostaje wykonana.
Aby rozwiązać ten problem, dla stałej future
musimy utworzyć nowy obiekt daty, który następnie modyfikujemy metodą setHours()
.
🎢 Plac zabaw
Otwórz edytor w nowym oknie📑 Linki
❤️ Podobają Ci się bugi JS?
Podziel się linkiem ze znajomymi:
https://codisity.pl/100-bugow-js