>웹 프론트엔드 >JS 튜토리얼 >ES6 블록 수준 범위에 대한 자세한 설명

ES6 블록 수준 범위에 대한 자세한 설명

小云云
小云云원래의
2018-01-26 16:45:571593검색

우리 모두 알고 있듯이 ES5 이전의 JavaScript 언어에는 함수 범위와 전역 범위만 있었고, var로 선언된 변수에는 변수 승격도 있어서 혼란스러웠습니다. 먼저 ES5의 var 선언을 검토한 다음 let과 const를 비교해 보겠습니다.

var

var 선언 함수 범위 및 전역 범위.

코드로 경험해 봅시다:

function getName() {
 if (1 + 1 === 2) {
 var name = 'xixi';
 }

 console.log(name);
}

getName();//xixi

C나 Java 언어에서 name은 if 블록에서만 사용해야 하지만 if 외부에서도 접근할 수 있는 유형입니다. 블록 수준 범위를 반영합니다. 이 단점은 for 루프에서 매우 명백합니다.

for (var i = 0; i < 10; i ++) {
 // ...
}

console.log(i);// 10

var i의 원래 의도는 배열을 순회하는 데 사용되는 임시 변수 i를 선언하는 것입니다. for 루프 외부에서 액세스하면 안 되지만 이제는 액세스할 수 있습니다. 귀찮다는 건가요, 아닌 건가요? 더 나은 프로그래머는 즉시 실행 기능을 사용하여 블록 수준 범위를 시뮬레이션할 것입니다. 원래는 주의를 기울여 동일한 변수 이름을 사용하지 않으려고 합니다.

위 내용은 ES6 블록 수준 범위에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.