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

자바스크립트 함수 호출에서 스프레드 연산자(Spread Operator) 활용하기

스프레드 문법(Spread Syntax)은 배열이나 기타 이터러블(iterable) 객체를 펼쳐서 함수 호출 시 0개 이상의 인수로 전달할 수 있게 해주는 강력한 기능입니다. ES6(ES2015)에서 도입된 이 문법은 ... 세 개의 점으로 표현하며, 배열 요소를 개별적인 값으로 분리해 함수에 전달할 때 특히 유용합니다.

스프레드 연산자의 동작 원리

예를 들어 add(a, b, c, d)처럼 네 개의 매개변수를 받는 함수가 있을 때, 배열 [1, 2, 3, 4]를 그대로 전달하면 오류가 발생합니다. 하지만 스프레드 연산자를 사용해 add(...arr) 형태로 호출하면, 배열의 각 요소가 순서대로 각 매개변수에 매핑되어 정상적으로 계산됩니다.

예제 코드

다음은 자바스크립트에서 함수 호출 시 스프레드 연산자를 사용하는 방법을 보여주는 완전한 예제입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .result {
        font-size: 20px;
        font-weight: 500;
        color: blueviolet;
    }
</style>
</head>
<body>
<h1>함수 호출에서의 스프레드 연산자</h1>
<div class="result"></div>
<br />
<button class="Btn">클릭하세요</button>
<h3>위 버튼을 클릭하면 스프레드 연산자를 사용해 add() 함수에 매개변수를 전달합니다</h3>
<script>
    let resEle = document.querySelector(".result");
    let BtnEle = document.querySelector(".Btn");
    function add(a, b, c, d) {
        return a + b + c + d;
    }
    let arr = [1, 2, 3, 4];
    BtnEle.addEventListener("click", () => {
        resEle.innerHTML = add(...arr);
    });
</script>
</body>
</html>

실행 결과

페이지를 실행하면 다음과 같은 화면이 나타납니다.

자바스크립트 함수 호출에서 스프레드 연산자(Spread Operator) 활용하기

'클릭하세요' 버튼을 누르면 배열 [1, 2, 3, 4]가 스프레드 연산자에 의해 펼쳐져 add() 함수에 전달되고, 결과값 10(1+2+3+4)이 화면에 표시됩니다.

자바스크립트 함수 호출에서 스프레드 연산자(Spread Operator) 활용하기

정리

스프레드 연산자는 배열을 개별 인수로 변환해주는 간결하고 직관적인 방법입니다. apply() 메서드를 대체할 수 있으며, 가변 인수 함수 호출, 배열 병합, 객체 복사 등 다양한 상황에서 코드의 가독성과 유지보수성을 크게 향상시켜 줍니다.