함수가 받는 인자의 개수에 따라 출력되는 결과물이 달라지는 함수를 만들어보았습니다.
if문을 사용해서 작성해보다가 더 편한 방법을 찾아서 해보는 포스팅!
바로 arguments객체를 이용하는 것이다. 자세한 설명은 아래에서 해보겠습니다.
첫번째 인자
는 년도에 해당하는 숫자입니다.두번째 인자
는 월에 해당하는 숫자입니다.세번째 인자
는 일에 해당하는 숫자입니다."1234년"
과 같은 형식의 문자열을 리턴 해주세요."1234년 5월"
과 같은 형식의 문자열을 리턴 해주세요."1234/5/6"
과 같은 형식의 문자열을 리턴 해주세요.작성한 javaScript 코드
function meetAt(year, month, date){
if(arguments.length == 1){
return year + '년'
}else if(arguments.length ==2)
{
return year +'년 '+ month+'월'
}else if(arguments.length ==3){
return year+'/'+month+'/'+date
}
}
//콘솔 출력 결과
console.log(meetAt(2022))//2022년
console.log(meetAt(2022,12))//2022년 12월
console.log(meetAt(2022,3,5))//2022/3/5
arguments 객체는 함수에 전달된 인수에 해당하는 Array 형태의 객체이다.
이때, Array 형태
의 객체란 length 속성 등 array의 속성을 가지고는 있지만 forEach, map등의 array 내장메서드를 갖고 있지는 않다는 뜻이다.
arguments 객체는 모든 함수 내에서 이용가능한 지역변수이다!
함수가 받은 인수의 개수에 따라 인덱스로 접근할 수 있다.
따라서 여기서는 argumets객체의 length 속성을 이용하여 결과값을 다르게 출력한 것이다!