Rest

최경락 (K_ROCK_)·2021년 11월 25일
0

Rest 란?

  • 생긴건 spread 와 같지만, 사용되는 방법은 다르다.
  • 매개변수와 객체, 배열에서 사용된다.
  • 배열이나 객체를 변수에 구조분해하여 할당할때, 변수에 할당되지 않은 나머지 값을 저장하는 용도로 사용 할 수 있다.

매개변수에서의 활용

  • 매개변수(parameter)를 배열의 형태로 받아 사용할 수 있다.
  • 파라미터가 가변적일 때 유용하다.
  • function 함수이름 (...배열) 의 형태로 작성한다.
  • rest 문법을 사용 할 경우 가변적인 수의 인자를 받을 때, 그 모든 값을 함수 내부에서 사용 할 수 있다.
function fn (a, b, ...c) {
  console.log(a) // 1
	console.log(b) // 2
	console.log(c) // (5)[3, 4, 5, 6, 7], 나머지 인자들을 배열의 형태로 반환한다.
  }

fn(1, 2, 3, 4, 5, 6, 7)

배열

  • 배열의 값을 변수에 구조분해하여 할당 할 때, 할당되지 않은 값들을 저장 할 수 있다.
let arr = [1, 2, 3, 4, 5, 6]
let [a, b, ...rest] = arr

console.log(a) // 1
console.log(b) // 2
console.log(rest) // (4)[3, 4, 5, 6], 앞에서 할당되지 않은 값을 배열의 형태로 할당받는다.

객체

  • 배열과 같은 방식으로 할당되지 않은 값들을 저장 할 수 있다.
let obj = {a : 1, b : 2, c : 3, d : 4}
let {a, b, ...rest}

console.log(a) // 1
console.log(b) // 2 
console.log(rest) // {c : 3, d : 4}, 앞에서 할당되지 않은 값을 객체의 형태로 할당받는다.

+

  • 객체와 배열에서 rest 를 사용할 때는 구조분해 할당과 함께 사용된다.
  • [a, ...rest, b] 의 형태로 작성 될 수 없다.
    → 변수의 마지막 부분에 작성되어야 한다.

0개의 댓글