ES6에서 배열 분해는 배열에서 값을 추출하고 할당하기 위한 간결한 구문을 제공합니다. 그러나 특정 구성은 예상치 못한 결과를 초래할 수 있습니다.
제공된 코드 조각은 다음과 같은 질문을 제기합니다.
이 코드가 배열 구조 분해 후 예상치 못한 값을 초래하는 이유는 무엇입니까?
<code class="javascript">let a, b, c; [a, b] = ['A', 'B']; [b, c] = ['BB', 'C']; console.log(`a=${a} b=${b} c=${c}`);</code>
예상: a=A, b=BB, c=C
실제: a=BB, b=C, c= 정의되지 않음
답변:
문제는 세미콜론이 생략된 데 있습니다. 세미콜론은 일반적으로 이러한 줄을 별개의 문장으로 구분합니다. 세미콜론이 없으면 코드는 단일 명령문으로 구문 분석되고 다른 순서로 평가됩니다.
<code class="javascript">let a = undefined, b = undefined, c = undefined; [a, b] = (['A', 'B'] [(b, c)] = ['BB', 'C']); console.log(`a=${a} b=${b} c=${c}`);</code>
그러한 오해를 피하고 올바른 평가를 보장하려면 (, [, /, , - 또는 `.
로 시작하는 모든 줄의 시작 부분에 세미콜론을 명시적으로 포함하는 것이 중요합니다.위 내용은 ES6에서 배열 구조 분해로 인해 예기치 않은 값이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!