이제 자바스크립트의 기본을 배웠다.
라고, 클레스에 쓰여있었다.
배웠다고했지 안다고는 안했다
알게될때까지 더 공부하자
...의 구문은 두가지 의미로 사용된다.
그중 첫번째는 Rest parameater(Rest 파라미터)로,
정해지지 않은 수를 함수의 인자로 전달할 때
그 인자를 배열로 묶어서 전달하는 방법이다.
function myFun(a, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
// Console Output:
// a, one
// b, two
// manyMoreArgs, [three, four, five, six]
MDN 설명에 있는 예시를 가져왔다.
함수 myFun()
에 인자를 one ~ six까지 전달하는데
함수에서 인자를 받을때 첫번째 두번째 인자는 그대로 받지만
세번째부터는 Rest파라미터로 받는 것을 알 수 있다.
이중 Rest파라미터로 받은 인자는 배열로 변한것을 알 수 있다.
두번째는 Spread(전개구문, 스프레드)로, 배열로 전달된값의
배열을 펼쳐서 사용할 수 있다.
표현되는 방식이 많은데 전개된다, 나열한다, 펼친다, 벗긴다(?)등
다양한 방법으로 표현되지만 중요한건 배열을 없애주는 것이다.
let arr = [1, 2, 3, 4, 5]
consol.log(...arr) // output = 1 2 3 4 5
Rest파라미터와 햇갈릴 수 있으니 주의해서 사용해야 한다.
let arr = [1, 2, 3, 4, 5]
let newArray = [...arr]
console.log(newArray) // output = [1, 2, 3, 4, 5]
또한, ...arr
을 다시 배열로 감싸면 위와 같이 사용될 수 있다.