받은 인자의 개수에 따라 출력되는 결과물을 다르게하기 | JavaScript | JustCode 미션

박예선·2022년 8월 10일
0

JavaScript

목록 보기
2/6
post-thumbnail

함수가 받는 인자의 개수에 따라 출력되는 결과물이 달라지는 함수를 만들어보았습니다.
if문을 사용해서 작성해보다가 더 편한 방법을 찾아서 해보는 포스팅!
바로 arguments객체를 이용하는 것이다. 자세한 설명은 아래에서 해보겠습니다.


미션❗ meetAt 함수를 만들어주세요

  • 인자를 세개 받습니다.
    1. 첫번째 인자는 년도에 해당하는 숫자입니다.
    2. 두번째 인자는 월에 해당하는 숫자입니다.
    3. 세번째 인자는 일에 해당하는 숫자입니다.
  • 인자가 1개인 경우 (년도 인자만 받았을 경우)
    • "1234년" 과 같은 형식의 문자열을 리턴 해주세요.
  • 인자가 2개인 경우 (년도, 월 인자를 받았을 경우)
    • 년도와 월을 조합해서 "1234년 5월" 과 같은 형식의 문자열을 리턴 해주세요.
  • 인자가 4개인 경우 (년도,월,일 인자를 전부 받았을 경우)
    • 년도,월,일을 조합해서 "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 객체란?

arguments 객체는 함수에 전달된 인수에 해당하는 Array 형태의 객체이다.
이때, Array 형태의 객체란 length 속성 등 array의 속성을 가지고는 있지만 forEach, map등의 array 내장메서드를 갖고 있지는 않다는 뜻이다.

arguments 객체는 모든 함수 내에서 이용가능한 지역변수이다!
함수가 받은 인수의 개수에 따라 인덱스로 접근할 수 있다.

따라서 여기서는 argumets객체의 length 속성을 이용하여 결과값을 다르게 출력한 것이다!

profile
개발 좋아 lynn08082@gmail.com

0개의 댓글