Przejdź do głównej zawartości

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