Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 스프레드 연산자(...)란? 개념과 활용 예제 총정리

스프레드 연산자(Spread Operator, ...)는 하나의 표현식을 여러 개의 인수, 배열 요소 또는 변수로 확장할 수 있게 해주는 JavaScript 문법입니다. ES6(ES2015)에서 도입되었으며, 배열과 객체를 더욱 직관적이고 간결하게 다룰 수 있도록 도와줍니다.

스프레드 연산자의 주요 용도

  • 배열 합치기 — concat() 메서드를 대체하는 간결한 문법
  • 함수 호출 시 배열을 개별 인수로 전달
  • 배열 복사 및 병합
  • 객체 복사 및 병합 (ES2018 이후 지원)

예제 코드

다음 예제는 concat() 메서드와 스프레드 연산자를 비교하여 보여줍니다. 두 방식 모두 동일한 결과를 생성하지만, 스프레드 연산자를 사용하면 훨씬 더 읽기 쉽고 유연한 코드를 작성할 수 있습니다.

<html>
  <body>
    <script>
      var a, b, c, d, e, f;
      a = [10, 20];
      b = "rank";
      c = [30, "points"];
      d = "run";

      // concat 메서드 사용
      e = a.concat(b, c, d);

      // 스프레드 연산자 사용
      f = [...a, b, ...c, d];

      document.write(e);
      document.write("<br>" + f);
    </script>
  </body>
</html>

실행 결과

10,20,rank,30,points,run
10,20,rank,30,points,run

코드 설명

위 예제에서 변수 ac는 배열입니다. 스프레드 연산자(...)를 앞에 붙이면 배열의 각 요소가 개별적으로 펼쳐져 새로운 배열에 그대로 삽입됩니다. 따라서 ef는 같은 값을 갖지만, [...a, b, ...c, d] 형태로 작성하면 어떤 값이 어느 위치에 들어가는지 한눈에 파악할 수 있어 가독성이 크게 향상됩니다.

또한 스프레드 연산자는 원본 배열을 변경하지 않고 새로운 배열을 생성하므로, 불변성(immutability)을 유지해야 하는 React 등의 현대 프론트엔드 개발에서도 널리 활용됩니다.