해결된 질문
작성
·
263
0
안녕하세요 정환님! 강의 듣다가 궁금한 점이 생겨서 질문드립니다.
curDate가 변경되면 diary에서 현재 연도와 월에 해당하는 일기만 보여주려고 가공하는 부분입니다.
강의 13분 37초 쯤에서 useEffect 는 현재 연도와 월의 가장 첫번째 날짜를 구한다고 하시고 코드를 작성하시는데 firstDay의 new Date 내에서 curDate.getMonth() 에서 왜 +1을 하지 않아도 현재 월을 잘 받아오는건가요? (JS 에서 월이 0부터니까 +1을 한다고 알고 있었는데요..!)
위의 headText 에서랑 increaseMonth 에서는 모두 +1 을 해서 현재 월을 받아왔는데 useEffect 내에서는 왜 +1을 안했는데도 정상적으로 받아왔는지 궁금합니다 !
답변 1
0
안녕하세요 이정환입니다.
우선 Date 객체는 월을 1씩 뺀 상태로 계산합니다. 따라서 1월은 0월, 2월은 1월 이런 식으로 구현되어 있습니다. 또 new Date 생성자에 콤마(,)로 구분해 생성할 연,월,일을 명시할 때에는 월은 0부터 계산합니다. 따라서 +1을 해주지 않아도 정상 작동합니다!
이 외의 headText나 increaseMonth 에서는 String 자체로 월을 계산하기에 +1을 해주는 것이라고 이해하시면 됩니다!
아하 감사합니다 !!