더북(TheBook)

바로 이런 곳이 펼침 연산자를 사용하기에 적합합니다. 펼침 연산자를 slice() 메서드와 함께 사용하면 하위 배열을 목록으로 변환해 대괄호 안에 작성할 수 있습니다. 실제로 배열처럼 보이기도 합니다. 더 중요한 것은 원래 배열에 영향을 주지 않고 새로운 배열을 생성해준다는 점입니다.

arrays/spread/spread.js

function removeItem(items, removable) {
  const index = items.indexOf(removable);
  return [...items.slice(0, index), ...items.slice(index + 1)];
}

 

위 코드에서 살펴볼 점이 몇 가지 있습니다. 우선 조작이 없습니다. 또한, 읽기 쉽고 간결합니다. 재사용할 수 있으며 예측 가능합니다. 간단히 말해서 우리가 좋아하는 특징을 모두 갖추고 있습니다.

사실 이 코드를 더 개선할 수도 있습니다. TIP 23 filter( )와 find( )로 데이터의 부분집합을 생성하라에서 배열의 특정 항목을 제거하는 함수를 전달하는 방법을 살펴보겠습니다. 같은 작업을 수행하는 방법은 많습니다. 여러분의 의도를 가장 잘 전달하는 방법을 선택하세요.

이건 시작에 불과합니다. 펼침 연산자를 이용하면 몇 글자만으로 배열의 항목을 빠르게 꺼낼 수 있습니다. 그리고 여러분이 늘 쉽고 빠르게 인식할 수 있는 데이터 구조로 다시 넣을 수 있습니다.

앞서 살펴본 예제 네 개는 모두 잘 작동합니다. 그렇지만 펼침 연산자가 가장 읽기 쉽고, 결과를 예측하기도 가장 쉽습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.