📌Spread Operator(스프레드 연산자)란?
ES6에서부터 등장한 Javascript의 Spread Operator에 대해서 알아보자. 처음 코드를 보았을 때는 누군가의 오타인 줄 알 만큼 문법의 형태가 특이했다. 이 스프레드 연산자를 사용하면 배열이나 문자열을 이용한 복잡한 연산을 단순하게 할 수 있고, 원본(배열, 객체)에 영향 없이 새로운 형태의 배열을 생성할 수 있다. 한번 알아보도록 하자.
📌기본 배열
const a = [1, 2, 3];
const b = [4, 5, 6];
const c = [7, 8, 9];
console.log(a);
console.log(b);
console.log(c);
//result
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
📌배열 복사(전개 연산자 사용)
const A = [1, 2, 3];
const B = [4, 5, 6];
const C = [7, 8, 9];
//배열 A 복사
const copyA = [...A];
console.log(copyA);
//result
//[1, 2, 3]
배열 A와 copyA의 출력되는 값은 같지만, 메모리상의 주소값은 다르기 때문에 원본을 복사한 새로운 배열의 생성된다. 또한 전개 연산자를 사용한다면 무조건적으로 1차원 배열만이 생성된다.
📌배열 병합(전개 연산자 사용)
const A = [1, 2, 3];
const B = [4, 5, 6];
const C = [7, 8, 9];
//배열 A, B, C의 병합
const mergeArr = [...A, ...B, ...C];
console.log(mergeArr);
//result
//[1, 2, 3, 4, 5, 6, 7, 8, 9];
📌객체 병합(전개 연산자 사용)
const InfoA = {
name : "moonstar",
age : "25"
}
const InfoB = {
addr : "경기 부천",
phoneNumber : "010-0000-0000"
}
const mergeObj = {...InfoA, ...InfoB};
console.log(mergeObj);
//result
//{
// name : "moonstar",
// age : "25",
// addr : "경기 부천",
// phoneNumber : "010-0000-0000"
//}
Spread Operator(전개 연산자)는 배열뿐만 아니라 객체에도 적용할 수 있다.
📌함수의 매개변수로 전개 연산자 사용
const A = [1, 2, 3];
const result = Math.max(...A);
console.log(result);
//3
'Languages > Javascript' 카테고리의 다른 글
[Javascript]문자열 자르는 메서드와(substr, substring, slice) 정규 표현식 (32) | 2023.09.07 |
---|---|
[Javascript]join 함수를 사용하여 배열의 원소 합치기 (3) | 2023.06.10 |
[Javascript]배열 안의 요소를 더하는 여러가지 방법(배열의 합, reduce) (4) | 2023.05.19 |
[Javascript]JSON 데이터의 키의 값을 추가 및 삭제하기 (0) | 2023.05.14 |
[Javascript]동기와 비동기의 이해 콜 스택(Call Stack) 이해하기 (6) | 2023.04.10 |