Rest 란?
- 생긴건
spread
와 같지만, 사용되는 방법은 다르다.
- 매개변수와 객체, 배열에서 사용된다.
- 배열이나 객체를 변수에 구조분해하여 할당할때, 변수에 할당되지 않은 나머지 값을 저장하는 용도로 사용 할 수 있다.
매개변수에서의 활용
매개변수(parameter)
를 배열의 형태로 받아 사용할 수 있다.
- 파라미터가 가변적일 때 유용하다.
function 함수이름 (...배열)
의 형태로 작성한다.
rest
문법을 사용 할 경우 가변적인 수의 인자를 받을 때, 그 모든 값을 함수 내부에서 사용 할 수 있다.
function fn (a, b, ...c) {
console.log(a)
console.log(b)
console.log(c)
}
fn(1, 2, 3, 4, 5, 6, 7)
배열
- 배열의 값을 변수에 구조분해하여 할당 할 때, 할당되지 않은 값들을 저장 할 수 있다.
let arr = [1, 2, 3, 4, 5, 6]
let [a, b, ...rest] = arr
console.log(a)
console.log(b)
console.log(rest)
객체
- 배열과 같은 방식으로 할당되지 않은 값들을 저장 할 수 있다.
let obj = {a : 1, b : 2, c : 3, d : 4}
let {a, b, ...rest}
console.log(a)
console.log(b)
console.log(rest)
+
- 객체와 배열에서
rest
를 사용할 때는 구조분해 할당과 함께 사용된다.
[a, ...rest, b]
의 형태로 작성 될 수 없다.
→ 변수의 마지막 부분에 작성되어야 한다.