인프런 커뮤니티 질문&답변

cccho님의 프로필 이미지
cccho

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

12.8) 일기 관리 기능 구현하기 1

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

해결된 질문

작성

·

263

0

안녕하세요 정환님! 강의 듣다가 궁금한 점이 생겨서 질문드립니다.

curDate가 변경되면 diary에서 현재 연도와 월에 해당하는 일기만 보여주려고 가공하는 부분입니다.

강의 13분 37초 쯤에서 useEffect 는 현재 연도와 월의 가장 첫번째 날짜를 구한다고 하시고 코드를 작성하시는데 firstDay의 new Date 내에서 curDate.getMonth() 에서 왜 +1을 하지 않아도 현재 월을 잘 받아오는건가요? (JS 에서 월이 0부터니까 +1을 한다고 알고 있었는데요..!)

위의 headText 에서랑 increaseMonth 에서는 모두 +1 을 해서 현재 월을 받아왔는데 useEffect 내에서는 왜 +1을 안했는데도 정상적으로 받아왔는지 궁금합니다 !

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

우선 Date 객체는 월을 1씩 뺀 상태로 계산합니다. 따라서 1월은 0월, 2월은 1월 이런 식으로 구현되어 있습니다. 또 new Date 생성자에 콤마(,)로 구분해 생성할 연,월,일을 명시할 때에는 월은 0부터 계산합니다. 따라서 +1을 해주지 않아도 정상 작동합니다!

이 외의 headText나 increaseMonth 에서는 String 자체로 월을 계산하기에 +1을 해주는 것이라고 이해하시면 됩니다!

cccho님의 프로필 이미지
cccho
질문자

아하 감사합니다 !!

cccho님의 프로필 이미지
cccho

작성한 질문수

질문하기