자바스크립트 전개 구문(spread syntax)

자바스크립트에서 “전개 구문”은 객체나 배열을 병합하거나 복사하는 데 사용되는 강력한 기능 중 하나입니다. 이 기능은 코드를 간결하게 작성하고 가독성을 높일 수 있으며, 배열이나 객체를 확장하는 데 유용합니다.

배열에서의 전개 구문

전개 구문은 배열을 다른 배열에 병합할 때 매우 유용합니다. 이전에는 push 메서드를 사용하여 배열을 병합해야했지만, 전개 구문을 사용하면 한 줄의 코드로 간단하게 배열을 병합할 수 있습니다.

다음은 전개 구문을 사용하여 배열을 병합하는 예시입니다:

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];

const mergedArray = [...arr1, ...arr2];

console.log(mergedArray); // 출력: [1, 2, 3, 4, 5, 6]

위의 예시에서 ...arr1은 배열 arr1의 요소를 하나하나 분리하여 병합하는 역할을 합니다. 마찬가지로 ...arr2는 배열 arr2의 요소를 병합합니다. 이렇게 전개 구문을 사용하면 배열을 병합할 수 있습니다.

전개 구문은 배열 요소를 병합하는 데만 사용되는 것은 아닙니다. 배열을 복사할 때에도 전개 구문을 사용할 수 있습니다:

const originalArray = [1, 2, 3];
const copiedArray = [...originalArray];

console.log(copiedArray); // 출력: [1, 2, 3]

[...originalArray]와 같이 전개 구문을 사용하면 원래 배열 originalArray의 요소를 모두 분리하여 복사한 새로운 배열 copiedArray를 생성할 수 있습니다.

객체에서의 전개 구문

전개 구문은 배열뿐만 아니라 객체에서도 사용할 수 있습니다. 객체의 속성을 병합하거나 객체를 확장할 때 유용한 기능입니다.

다음은 전개 구문을 사용하여 객체를 병합하는 예시입니다:

const obj1 = { name: 'John', age: 25 };
const obj2 = { occupation: 'Developer', location: 'San Francisco' };

const mergedObject = { ...obj1, ...obj2 };

console.log(mergedObject); // 출력: { name: 'John', age: 25, occupation: 'Developer', location: 'San Francisco' }

위의 코드에서 ...obj1은 객체 obj1의 속성을 분리하여 병합하는 역할을 합니다. 마찬가지로 ...obj2는 객체 obj2의 속성을 병합합니다. 이렇게 전개 구문을 사용하여 두 개의 객체를 병합할 수 있습니다.

전개 구문은 객체를 복사할 때에도 사용할 수 있습니다:

const originalObject = { name: 'Jane', age: 30 };
const copiedObject = { ...originalObject };

console.log(copiedObject); // 출력: { name: 'Jane', age: 30 }

위의 예시에서 [...originalObject]와 같이 전개 구문을 사용하면 원래 객체 originalObject의 속성을 모두 분리하여 복사한 새로운 객체 copiedObject를 생성할 수 있습니다.

요약

전개 구문은 자바스크립트에서 배열과 객체를 병합하거나 복사하는 데 사용되는 강력한 기능입니다. 배열을 병합하거나 복사할 때에는 ...을 사용하여 요소를 분리하고, 객체를 병합하거나 복사할 때에는 속성을 분리하여 사용합니다. 이를 통해 코드를 간결하게 작성하고 가독성을 높일 수 있습니다.

전개 구문은 ES6 이후부터 지원되며, 현대적인 자바스크립트 개발에서 자주 사용되는 기능 중 하나입니다. 자세한 내용은 MDN 문서를 참조하시기 바랍니다.