조건? 

meetAt(2022); // 결과 --> "2022년"
meetAt(2032, 3); // 결과 --> "2032년 3월"
meetAt(1987, 10, 28); // 결과 --> "1987/10/28"

의 결과값을 만들어라.

 

왜 year, month, date 인데 year 부터 if문을 안적고

date부터 적었는지 궁금했다.

function meetAt(year, month, date) {
  if(date) {
    return year + "/" + month + "/" +date
  }
  if(month) {
    return year + "년 " + month + "월"
  }
  if(year) {
    return year + "년" 
  }
}
console.log(meetAt(2022, 5))
console.log(meetAt(2020,3,25))
console.log(meetAt(2020))

우선 meetat함수에서 년 월 일의 매개변수를 받는다.

인자한개면 = 2022년, 인자두개면 = 2022년 3월, 인자세개면 = 2022/3/4

이런식으로 문자를 리턴한다.

일단 여기서 알아야할 것은 조건문이란것은

if(조건)이  실행하면 = 1 / 즉, true 다 라는것이 중요하다.

만약 meetat 함수에 인자 3개가 들어있다고 가정해보고,

(2022, 3, 4) 라는 값이 들어있으면

처음부터 if문을 year(인자한개)로 받는다고 조건을 걸면

그 조건이 거짓(false)이고, 인자가 여러개 있어도 한개만 받는걸로 조건이 끝나버린다. 

우리는 2022/3/4 라는 결과값을 만들고 싶은데 

2022년에서 조건이 끝나버리고 만다. 

간단히말해  인자가 (1,2,3) 이라고 되어있다고 가정하면

우리가 원하는 값은 1/2/3이라는 값이지만 (year)가 맨 위에있으면 

1년 이라는 값만 출력된다는 것이다.

그럼  month를 첫번째로 넣어보면?

마찬가지다. month는 두개의 인자를 받고 (1, 2) 

세번째 3라는 매개변수는 받을 수 없는 것이다.

결국엔 인자가 한개든 두개든 세개든 어떤인자가와도 컴퓨터에 인식된것은 

return year + "년" 이기때문에 첫번째로 오는 매개변수만 

충족시키는 것이다.

복사했습니다!