Javascript: 복제 객체
10151 단어 webdevprogrammingbeginnersjavascript
clone object
.Spread Operator
사용:const example = {first: 1, last: 10};
const {...clonedExample} = example;
clonedExample
> {first: 1, last: 10}
clonedExample.first = 2;
> 2
clonedExample
> {first: 2, last: 10}
example
> {first: 1, last: 10}
사용
Object.assign()
;
const example = {first: 1, last: 10};
const clonedExample = Object.assign({}, example);
clonedExample
> {first: 1, last: 10}
clonedExample.first = 2;
> 2
clonedExample
> {first: 2, last: 10}
example
> {first: 1, last: 10}
JSON.parse
사용:const example = {first: 1, last: 10};
const clonedExample = JSON.parse(JSON.stringify(example));
clonedExample
> {first: 1, last: 10}
clonedExample.first = 2;
> 2
clonedExample
> {first: 2, last: 10}
example
> {first: 1, last: 10}
위의 방법에서 처음 두 가지는 객체의 심층 복제를 달성할 수 없습니다. 중첩된 객체를 음소거하지 않고 직접 객체만 음소거하는 반면 심층 복제는
JSON.parse
를 사용해서만 달성됩니다.아래 예를 참조하십시오.
const example = {first: 1, last: {nested: 3}};
// Using Spread
const {...clonedExample} = example;
clonedExample.last.nested = 5;
> 5
clonedExample
> {first: 1, last: {nested: 5}}
example
> {first: 1, last: {nested: 5}}
// Using Object.assign
const clonedExample = Object.assign({}, example);
clonedExample.last.nested = 5;
> 5
clonedExample
> {first: 1, last: {nested: 5}}
example
> {first: 1, last: {nested: 5}}
// Using JSON.parse
const clonedExample = JSON.parse(JSON.stringify(example));
clonedExample.last.nested = 5;
> 5
clonedExample
> {first: 1, last: {nested: 5}}
example
> {first: 1, last: {nested: 3}}
여기에서 나를 팔로우할 수 있습니다.
감사.
Reference
이 문제에 관하여(Javascript: 복제 객체), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/urstrulyvishwak/javascript-clone-object-1k3f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)