구조 분해 할당 및 기본값에 대한 Ruan Yifeng의 ES6 튜토리얼을 봤을 때 이 부분이 잘 이해되지 않았습니다.
원본링크
ES6은 위치에 값이 있는지 확인하기 위해 내부적으로 엄격한 동등 연산자(===)를 사용합니다. 따라서 배열 멤버가 엄격히 정의되지 않은 것과 동일하지 않으면 기본값이 적용되지 않습니다.
으아악
책에는 위 코드가 다음 코드와 동일하다고 나와 있습니다
으아악
실례합니다. 이거 [1][0]
어디서 나온 걸까요? 이렇지 않아야합니까?
으아악
배열을 분해할 때 원칙은 다음과 같습니다. 하나 이상의 변수를 배열 A에 넣은 다음 이 배열 A를 다른 배열 B와 동일하게 만듭니다. 그런 다음 구조 분해 중에 배열 A의 특정 위치에 있는 값은 다음과 같습니다. 배열 B의 해당 위치. 값.
으아아아이 코드의 의미는 먼저 배열 A를 생성한다는 것입니다. 배열 A의 첫 번째 항목은 x이고 그 다음에는 배열 B가 있습니다. B = [1].
으아아아그런 다음 A = B로 둡니다. 최종 효과는 A[입니다. 0] = B[0], 즉
x=B[0]
,也即x=[1][0]
입니다.그래서 undefine과 같은지 판단할 때는 이렇게 하세요
오른쪽에 있는 [1]의 1은 x에 해당합니다. 즉,
에 해당합니다.[1][0]
는 x해체하고, 분해하고, 분해하세요. . . 그래서 등호 오른쪽에 있는 것을 풀어주는 것이 목적이므로 풀어야 합니다
[1]
.그래서
let [x]=[1]
,那么x
就是[1][0]
,也就是1
。所以其实x
的赋值是根据[1][0]
판단하러 옵니다.내가 말하는 내용을 이해했는지 모르겠지만 문서를 제공하는 것이 좋습니다.
https://developer.mozilla.org...