[js] 만나이 계산하기

lilyoh·2020년 7월 22일
0
function getWesternAge(birthday) {
  // Date 객체인 birthday 를 매개변수로 받는 getWesternAge 함수 생성
  let rightNow = new Date();
  let age = rightNow.getFullYear() - birthday.getFullYear();
  // 현재 연도에서 생일 연도를 뺀 값을 age 로 한다.
  let birthMonth = birthday.getMonth();
  let thisMonth = rightNow.getMonth();
  // 현재 월과 생일 월을 변수에 저장한다.
  let birthDate = birthday.getDate();
  let thisDate = rightNow.getDate();
  // 현재 날짜와 생일 날짜를 변수에 저장한다.
  
  // 아래 코드는 다음 흐름에 따라 작성되었다.
  // 1. 생일 월과 현재 월을 비교 (3가지 경우의 수를 if, else if, else 로 처리)
  // 2. 생일 월과 현재 월이 같을 경우, 날짜를 비교
  
  if (birthMonth < thisMonth) {
    return age; 
  } else if (birthMonth > thisMonth) {
    return age -1;
  } else {
    if (birthDate < thisDate) {
      return age;
    } else {
      return age -1;
    }
  }
}
  • 단순하고 논리적으로 생각하자.
  • birthday 에는 Date 객체만 들어갈 수 있다.

0개의 댓글