arguments 와 전개연산자(...xxx)
(1)arguments ( ES5 문법)
1) arguments 개념
function foo(){
return arguments
}
foo('a','b','c','d')
-> arguments 는 고유 동작단어로써 해당 함수의 들어오 모든 인자를 불러온다
-> 위 예제에서는 [a,b,c,d] 를 불러온다
( 배열과 유사한 형태의 객체를 출력 === 유사배열)
2) 관련링크
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/arguments
https://opentutorials.org/course/743/6548
(2) 전개연산자(...xxx). (ES6 문법)
1) 개요
function foo(...xxx){
console.log("1: ",xxx);
console.log("2: ",...xxx);
}
foo(1,2,3,4,'a','b'); // -> 1: [1,2,3,4,,'a','b']
-> 2: 1,2,3,4,,'a','b'
--->함수 인자에 정해지지 않은 수의 여러값을 넣어주고자 할때 사용
--> 여기서 xxx 는 변수로써 해당 함수에 들어온 인자값들을 배열로 나타낸다
---> ...xxx 는 해당 값들만 뽑아온다 (1,2,3,4 이런식으로 ...xxx (배열) 내부 값들)
----> [...xxx] 는 위의 xxx와 동일한, 배열로 나타남 가능하다.
---> 사용법 함수 매개변수 자리에 ...xxx(<--아무이름) 입력
--->https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_operator
2) 배열을 함수의 매개변수로 넘겨주고자 사용 가능
var jsh = [1,2,3]
function sum(x,y,z){
console.log(x+y+z)
}
sum(...jsh)
(3) default Paremeter. (ES6 문법)
1) 개념
- 매개변수의 기본값을 설정하여 고정시킨다
- 기본값으로 숫자, 문자 , 객체등 모두 가능
- 함수 실행시 다른 인자 입력하면 그 인자 실행 (기본값 무시)
2) 예시
function getRoute(destination, departure = '인천'){
return `출발지: ${departure}, 도착지: ${destination}`
}
getRoute("도쿄") // "출발지: 인천, 도착지: 도쿄"
getRoute("도쿄","부산") // "출발지: 부산, 도착지: 도쿄"
2) 관련 링크
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Default_parameters