스프레드 연산자(Spread

… 확산 연산자

무언가를 제거하고 싶을 때 사용할 수 있습니다.

1. 배열에 추가하면 대괄호가 제거됩니다.

var arr = ('hello', 'world');

console.log(...arr); // hello world

2. 끈으로 묶으면 늘어납니다.

var str="hello";

console.log(...str); // h e l l o

…spread operator 어디에서 사용해야 합니까?

1. 어레이 병합 / 딥 카피

var a = (1, 2, 3);
var b = (4, 5);

var c = (...a);
console.log(c) // (1, 2, 3)

var d = (...a, ...b);
console.log(d) // (1, 2, 3, 4, 5)

깊은 복사에 유용합니다.

var a = (1, 2, 3);
var b = a; // 그냥 등호로 복사하면 값을 공유함(참조관계)

a(3) = 4;

console.log(a); // (1,2,3,4)
console.log(b); // (1,2,3,4)

a와 b는 참조 관계입니다.

Array 및 Object는 참조 데이터 유형이기 때문에 부주의하게 복사하면 가치 분할이 발생합니다.

각각이 독립적인 값을 갖도록 배열 또는 객체를 복사하는 방법(깊은 복사)?

– 스프레드 연산자를 사용합니다.

var a = (1, 2, 3);
var b = (...a);

a(3) = 4;

console.log(a); // (1,2,3,4)
console.log(b); // (1,2,3)

2. 개체 병합 / 딥 카피

var obj1 = { a: 1, b: 2 };
var obj2 = { ...obj1, c: 3 };

console.log(obj2); // { a: 1, b: 2, c:3 }

확산 연산자

집착 스트립

멜빵을 제거하다

둘 다 가능

obj1을 obj2로 딥 복사하는 방법은 무엇입니까?

var obj1 = { a: 1, b: 2 };
var obj2 = { ...obj1 };

하지만 복사 중 중복 값이 ​​발생한다면?

– 마지막 것을 적용하십시오.

var obj1 = { a: 1, b: 2 };
var obj2 = { ...obj1, a: 2 };

console.log(obj2) // { a: 2, b: 2 }

확산 연산자

– 클램프를 제거하십시오.

– 곱슬, 사각형 및 괄호 안에만 사용할 수 있습니다.