• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

useEffect 내 에서 현재 연도와 월 구할 때 +1 안하는 이유

23.12.20 02:47 작성 조회수 162

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을 해주는 것이라고 이해하시면 됩니다!

cccho님의 프로필

cccho

질문자

2023.12.20

아하 감사합니다 !!