JavaScript의 확장 연산자 및 적용 인스턴스 코드
let obj1 = {
value1: 1,
value2: 2
};
let obj2 = {...obj1
};
console.log(obj2); // {value1: 1, value2: 2}
위의 용법은 실제적으로 상당하다
obj2 = {value1: 1, value2: 2}
전개 연산자의 쓰기 방법과 obj2 = obj1
직접 부여의 쓰기 방법의 차이는 직접 부여를 하면
에 대해 단지 부여된 메모리 공간 주소에 해당하고 obj1
가 바뀔 때obj2
도 따라서 바뀐다는 데 있다.obj1
작법으로 하면
대상의 속성 유형이 obj1
이기 때문에 하나의 대상을 다시 만든 셈이고 이때
가 바뀔 때 obj2
이 대상에 영향을 주지 않는다.그러나 그 속성이 모두 기본 유형인 경우(또는 한 층의 깊은 복사만 했다).이 대상의 속성에 인용 형식이 있다면, 속성에서 인용 형식의 값을 수정하면 두 대상의 속성 값이 모두 수정됩니다.
let obj1 = {
attri1: [3, 6, 0],
attri2: 4,
attri4: 5
};
let obj2 = {...obj1
};
obj2.attri2 = 888;
obj2.attri1[0] = 7;
console.log('obj1:', obj1);
console.log('obj2:', obj2);
확장 연산자의 응용
1. 함수에서 확장 연산자 사용하기
function test(a, b, c){};
let arr = [1, 2, 3];
test(...arr);
2. 배열 글꼴에서 확장 연산자 사용하기
let arr1 = [1, 2];
let arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]
// push
let arr1 = [1, 2];
let arr2 = [3. 4];
arr1.push(...arr2); // [1, 2, 3, 4]
3. 부호를 푸는 데 사용되며, 부호를 푸는 데 전개 연산자는 마지막에만 사용할 수 있으며, 그렇지 않으면 오류가 발생할 수 있습니다.
// 。
let [a, b, ...c] = [1, ,2, 3, 4]
console.log(a, b, c) // 1, 2, [3, 4]
4. 클래스 그룹이 그룹으로 변하기
let oLis = document.getElementsByTagName("li");
let liArr = [...oLis];
5. 객체에서 확장 연산자 사용ES7의 객체 확장 연산자는 객체를 보다 빠르게 조작할 수 있도록 합니다.
let {x,y,...z}={x:1,y:2,a:3,b:4};
x; // 1
y; // 2
z; // {a:3,b:4}
객체를 다른 객체에 삽입하려면 다음과 같이 하십시오.
let z={a:3,b:4};
let n={x:1,y:2,...z};
console.log(n); //{x:1,y:2,a:3,b:4}
두 객체를 결합하려면 다음과 같이 하십시오.
let a={x:1,y:2};
let b={z:3};
let ab={...a,...b};
console.log(ab); // {x:1,y:2,z:3}
자바스크립트에서 연산자를 전개하고 응용하는 실례 코드에 관한 이 글은 여기까지 소개되었습니다. 더 많은 js 연산자 전개 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.