Wpis z mikrobloga

Co może być nie tak?
Kod:
https://pastebin.com/nnLycLh9
Skąd w dacie (w przykładach z konsoli poniżej) bierze się 2027 albo 2029 skoro wyraźnie podaje 2022 ?

Przykładowy wynik z konsoli 1:
choosedMonth
7
choosedYear
2022
new Date(choosedYear, choosedMonth+1, 0)
Tue Nov 30 2027 00:00:00 GMT+0100 (czas środkowoeuropejski standardowy)

Przykładowy wynik z konsoli 2:
choosedMonth
9
choosedYear
2022
new Date(choosedYear, choosedMonth+1, 0)
Tue Jul 31 2029 00:00:00 GMT+0200 (czas środkowoeuropejski letni)

#javascript #react #reactjs
  • 6
rok może się przekręcić, jeśli podasz wartość miesiąca większą niż 11


@UniversalHater: To nie to, nawet jak operuję na mniejszych danych to rok się wywala

To musi być coś z reactem, bo to samo w normalnym JavaScript działa
To musi być coś z reactem, bo to samo w normalnym JavaScript działa


@scorpio18k: Raczej uroki JavaScriptu :-)
Rok się "przekręca", jeżeli podasz miesiąc jako String, a nie Number - np:

choosedYear = 2022;
choosedMonth = 7;
console.log(new Date(choosedYear, choosedMonth+1, 0));
jest ok, ale

choosedYear = 2022;
choosedMonth = "7";
console.log(new Date(choosedYear, choosedMonth+1, 0));
przesuwa cię do przodu o parę lat.
Wniosek? Używaj TypeScripta - wtedy unikniesz takich niespodzianek :-)