카테고리 없음

김민태의 데브캠프 2기 - sepread operator( 전개 연산자)

vitamin3000 2024. 11. 6. 19:05

특정 객체 또는 배열의 값을 다른 객체, 배열로 복제하거나 옮길 때 사용

배열 조합

const arr1 = [1,2,3];
const arr2 = [4,5,6];
const arrWrap = arr1.concat(arr2);

console.log(arrWrap); // [1, 2, 3, 4, 5, 6];

const arr1 = [1, 2, 3];
const arr2 = [4, 5];
Array.prototype .push.apply(arr1, arr2);
console.log(arr1); // [1, 2, 3, 4, 5]

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arrWrap = [...arr1, ...arr2];
console.log(arrWrap); // [1,2,3,4,5,6];

const arr1 = [1, 2, 3];
const arr2 = [4, 5];
arr1.push(...arr2);
console.log(arr1) // [1, 2, 3, 4, 5];

 

객체 조합

 

const obj1 = {
	a: 'A'
	b: 'B'
};
const obj2 = {
	c: 'C'
	d: 'D'
}
const objWrap = {obj1, obj2};
console.log(objWrap);

{ 
	obj1: {
		a: 'A'
		b: 'B'
	},
	obj2; {
		c: 'C'
		d: 'D'
	}
}

 


위 코드를 통해 객체 자체가 들어감을 확인 할 수 있다.

 

const obj1 = {
	a: 'A'
	b: 'B'
};
const obj2 = {
	c: 'C'
	d: 'D'
}
const objWrap = {...obj1, ...obj2};
console.log(objWrap);

{
	a: 'A',
	b: 'B',
	c: 'C',
	d: 'D'
}


위 코드는 객체 자체가 아닌 각각의 값이 할당됨

 


기존 배열을 보존

case1 : 원본 배열까지 역순으로 정렬됨

const arr1 = [1, 2, 3]
const arr2 = arr1.reverse();

console.log(arr1) //[3, 2, 1];
console.log(arr2) //[3, 2, 1];

case2 : 원본 배열 유지
const arr1 = [1, 2, 3]
const arr2 = [...arr1].reverse();

console.log(arr1) //[3, 2, 1];
console.log(arr2) //[3, 2, 1];