ES6 지식 점 정리 대상 의 할당 해제 응용
10187 단어 ES-6-7-8Javascriptes6대상 재 구성
초식 대상 의 해체
var {name} = {
name:'Joh',
age:10
};
console.log(name); // Joh
대상 의 속성 값 을 재 구성 형식 으로 추출 합 니 다.
해 체 된 속성 이름 바 꾸 기
var {name} = {
name:'Joh',
age:10
};
console.log(name); // Joh
// { : } =
var {color:color2} = {
color:'red',
age:10
};
console.log(color2); // red
console.log(color); // :Uncaught ReferenceError: color is not defined
대상 내장 구조 에서 패턴 과 변수의 차이
var obj = {
a:{
b:{
c:123
}
}
};
let {a:{b:{c}}} = obj; // , a b , , c
console.log(c); // 123
console.log(a, b, c); // Uncaught ReferenceError: a is not defined
분석 대상 의 기본 값
var obj = {
name:'Joh',
age:22
};
var {name, id='999', age} = obj;
console.log(name, id ,age); // Joh 999 22
var obj2 ={
name:'Lily',
age:10
};
var {name:name2, id:id2='888', age:age2} = obj2;
console.log(name2, id2, age2); // Lily 888 10
해체 대상 에 나타 날 수 있 는 이상
① 아버지 가 재 구성 한 노드 는 undefined 이 므 로 프로 그래 밍 에서 이것 을 주의해 야 합 니 다. 부주의 한 오류 에 속 합 니 다.
let {x:{y}} = {name:{y:12}}; // x , :Cannot destructure property `y` of 'undefined' or 'null'.
② 변수 이름 바 꾸 기 오 류 를 미리 정 의 했 습 니 다.
let name;
let {name} = {name:'Joh'}; // Uncaught SyntaxError: Identifier 'name' has already been declared
해결 방안 1:
let name;
let {name:name2} = {name:'Joh'};
console.log(name2);
해결 방안 2:
var name;
var {name} = {name:'Joh'};
console.log(name);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javascript가 Crontab 표현식의 유효성 여부를 판단하는 상세 정보Javascript는 Crontab 표현식의 유효성 여부를 판단합니다. 그동안 Quartz 작업 스케줄링을 하면서 사용한 Crontab 표현식으로 이루어졌습니다.Crontab은 프런트엔드 페이지에서 입력한 매개변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.