ES6 해체 할당 의 원리 및 활용
4042 단어 ES6해체 하 다값 을 부여 하 다
let [a, b, c] = [1, 2, 3]
여러 변 수 를 동시에 정의 합 니 다.a 는 1,b 는 2,c 는 3 과 일치 합 니 다.재 구성 할당 값 은 기본 값 을 지정 할 수 있 습 니 다.즉,왼쪽 변 수 는 기본 값 을 지정 하고 오른쪽 에 대응 하 는 값 이 없 으 면 기본 값 을 우선 출력 합 니 다.
let [x, y = 'b'] = ['a'] // x = 'a', y = 'b'
x 일치 문자 a,y 기본 값 은 문자 b 입 니 다.오른쪽 에 대응 하지 않 으 면 기본 출력 문자 b 입 니 다.대상 의 해체 할당
해 구 는 배열 뿐만 아니 라 대상 에 도 사용 할 수 있 습 니 다.대상 의 해 구 는 배열 과 중요 한 차이 가 있 습 니 다.배열 의 요 소 는 순서에 따라 배열 되 고 변수의 수 치 는 그의 위치 에 의 해 결 정 됩 니 다.대상 의 속성 은 순서 가 없고 변 수 는 속성 과 동명 이 어야 정확 한 값 을 얻 을 수 있 습 니 다.
let {
name,
age,
hobbies: [one, two]
} = {
name: 'shiramashiro',
age: 21,
hobbies: [' ', ' ']
}
예 를 들 어 저 는 age 의 값 을 abc 의 값 으로 바 꾸 었 습 니 다.대상 의 속성 명 과 대응 하지 않 아 할당 할 수 없 기 때문에 undefined 입 니 다.할당 해제 활용
교환 변수의 값
변 수 를 교환 하 는 값 을 정상적으로 생각 하 는 방식
let x = 1,
y = 2,
temp = 0
temp = x // x = 1 = temp
x = y // y = 2 = x
y = temp // temp = 1 = y
console.log('x => ', x)
console.log('y => ', y)
재 구성 할당 교환 변 수 를 이용 합 니 다.
let x = 1;
let y = 2;
[x, y] = [y, x];
console.log('x => ', x)
console.log('y => ', y)
이렇게 변수 x 와 y 의 값 을 교환 하면 쓰기 가 간결 할 뿐만 아니 라 읽 기 쉬 우 며 의미 가 매우 뚜렷 하 다.함수 에서 여러 값 을 되 돌려 줍 니 다.
함 수 는 한 값 만 되 돌려 줄 수 있 습 니 다.여러 값 을 되 돌려 주 려 면 배열 이나 대상 에 넣 고 되 돌아 갈 수 밖 에 없습니다.구조 대 가 를 알 고 있 으 면 더욱 편리 해 집 니 다.
hobbies 배열 의 두 번 째 값 추출
function getArray() {
return {
name: 'kongsam',
age: 21,
hobbies: [' ', ' ', ' ']
}
}
console.log(getArray().name + ' ' + getArray().hobbies[1]) //
해체 할당 을 이용 하여 hobbies 배열 의 두 번 째 값 을 가 져 옵 니 다.
let {name, age, hobbies} = getArray()
console.log(name + ' ' + hobbies[1]) //
지도 구 조 를 편력 하 다.for...of 순환 에 있어 서 옮 겨 다 니 는 값 은 하나의 배열 이 고,할당 을 재 구성 하 는 것 은 배열 에 있어 서'패턴 일치'할 수 있 습 니 다.이것 은 키-값 을 빠르게 꺼 냅 니 다.
for...of 순환 옮 겨 다 니 며 구조 할당 키-값 을 가 져 오 는 것 이 편리 합 니 다.
for (let [key, value] of map) {
console.log("key => ", key)
console.log("value => ", value)
}
함수 매개 변수의 해체 값
// let { x = 10, y = 5 } = {}
function f({ x = 10, y = 5 } = {}) {
return [x, y]
}
console.log(f({ x: 100, y: 50 })) // [100, 50]
console.log(f({ x: 3 })) // [3, 5]
console.log(f({})) // [10, 5]
console.log(f()) // [10, 5]
함수 의 매개 변수 에 대상 을 입력 할 수 있 고 들 어 오 는 대상 에 게 기본 값 을 설정 할 수 있 습 니 다.그것 은 함수 내부 로 재 구성 되 어 사용 할 것 이 며,너 도 이렇게 이해 할 수 있다.
function f(x = 10, y = 5) {
return [x, y]
}
console.log(f(100, 50)) // [100, 50]
console.log(f(3)) // [3, 5]
console.log(f()) // [10, 5]
위의 서법 이 다 르 면 결과 도 다 를 수 있다.
function f({ x, y } = { x: 10, y: 5 }) {
return [x, y]
}
console.log(f({ x: 100, y: 50 })) // [100, 50]
console.log(f({ x: 3 })) // [3, undefined]
console.log(f({})) // [undefined, undefined]
console.log(f()) // [10, 5]
세 번 째 와 네 번 째 인쇄 는 undefined 가 있 습 니 다.이것 은 들 어 오 는 x 나 y 가 대상 속성 에 대응 하지 않 는 값 으로 일치 하지 않 아서 발생 합 니 다.이상 은 바로 ES6 해체 할당 의 원리 와 운용 에 관 한 상세 한 내용 입 니 다.더 많은 ES6 해체 할당 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 하 시기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Javascript] Tagged Template Strings이전에 이라는 형태로 문자열에 변수를 삽입하는 방법을 배웠었습니다. 오늘 다룰 문법은 템플릿 문자을 발전시킨 Tagged Template Strings(Literals)에 대해서 알아보도록 하겠습니다. Tagged ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.