TIL - 함수 2개이상의 데이터 받기

rain98·2021년 5월 13일
0

TIL

목록 보기
12/32
post-thumbnail

함수의 데이터를 받고 사용하려면 어떻게 했을까?

function alertSuccess(name) {   
  alert(name + "님 로그인 성공!"); 
}

매개변수를 만들고 데이터를 받고,

alertSuccess("김개발");
alertSuccess("박대리");

함수를 호출하면서 넣고 싶은 데이터를 인자(인수)에 넣으면 된다.

그렇다면 함수의 여러개의 데이터를 받을땐 어떻게 할까?

함수에 인수가 한 개가 아닌 여러 개를 전달할 수도 있다.
한개를 전달 할때와 별 다를거 없이 받으면 된다.

function alertSuccess(name,time) {   
  alert(name + "님 로그인 성공! 지금은" + time + "시 입니다."); 
}
alertSuccess("김개발",17);
// 김개발님 로그인 성공! 지금은17시 입니다."

연습

  • 인자를 세개 받는다.
    1. 첫번째 인자는 년도에 해당하는 숫자입니다.
    2. 두번째 인자는 월에 해당하는 숫자입니다.
    3. 세번째 인자는 일에 해당하는 숫자입니다.
  • 년도 인자만 받았을 경우 → "1234년" 과 같은 형식의 문자열을 리턴 한다.
  • 년도,월 인자를 받았을 경우 → 년도와 월을 조합해서 "1234년 5월" 과 같은 형식의 문자열을 리턴 한다.
  • 년도,월,일 인자를 전부 받았을 경우 → 년도,월,일을 조합해서 "1234/5/6" 과 같은 형식의 문자열을 리턴 한다.
//ex
meetAt(2022); // 결과 --> "2022년"
meetAt(2032, 3); // 결과 --> "2032년 3월"
meetAt(1987, 10, 28); // 결과 --> "1987/10/28"
//answer
function meetAt(year, month, date) {
  if(year && !(month || date)) {
    return (year + "년");
  } else if(month && !(date)) {
    return year + "년 " + month + "월"
  } else if(date) {
    return (year + "/" + month + "/" + date);
  }
}

⚠️ 주의
아래와 같이 코딩 할 경우 meetAt(2021,05,13) 모든 인수를 채워도 2021년이 출력된다. 그이유는 meetAt(year, month, date)모두 채워도 첫번째 if가 조건이 해당하기 때문에 (year + "년")이 리턴이 된다.

function meetAt(year, month, date) {
  if(year) {
    return (year + "년");
  } else if(month) {
    return year + "년 " + month + "월"
  } else if(date) {
    return (year + "/" + month + "/" + date);
  }
}
profile
헷갈리거나 기억에 남기고 싶은것을 기록합니다.

0개의 댓글