먼저 let은 ES6의 기능이라는 점에 유의하세요. 적어도 IE10 이전의 IE 브라우저와는 호환되므로 주의하세요... 그럼 JavaScript에서 범위를 선언하기 위해 let 문을 사용하는 사용법을 살펴보겠습니다
Syntax
let variable1 = value1
Parametervariable1
선언할 변수의 이름입니다.
value1
변수에 할당된 초기 값입니다.
Remarks 범위가 선언된 블록으로 제한되는 변수를 선언하려면 let 문을 사용하세요. 변수를 선언할 때 변수에 값을 할당하거나 나중에 스크립트에서 변수에 값을 할당할 수 있습니다.
let을 사용하여 선언한 변수는 선언 전에는 사용할 수 없습니다. 그렇지 않으면 오류가 발생합니다.
변수가 let 문에서 초기화되지 않으면 자동으로 JavaScript 값 undefed가 할당됩니다.
예:
var l = 10; { let l = 2; // At this point, l = 2. } // At this point, l = 10. // Additional ways to declare a variable using let. let index; let name = "Thomas Jefferson"; let answer = 42, counter, numpages = 10; let myarray = new Array();
블록 수준 범위
for(var i = 0; i < 10; i++){} console.log(i); //10 for(let j = 0; j < 10; j++){} console.log(j); //"ReferenceError: j is not defined
변수 승격이 없습니다
console.log(a); // 输出undefined console.log(b); // 报错ReferenceError console.log(c); // 报错ReferenceError var a = 2; let b = 2;
정의되지 않음과 ReferenceError
Temporary Dead Zone(TDZ)의 차이점에 유의하세요. 블록 수준 범위, 모두 사용된 변수가 이미 존재하지만 선언되기 전에는 데드존에 있어서 조작할 수 없습니다.
참고: typeof는 더 이상 100% 안전한 작업이 아닙니다
typeof x; // ReferenceError typeof y // undefined let x;
중복 선언은 허용되지 않습니다
let x = 1; let x; // "SyntaxError: Identifier 'x' has already been declared var y = 2; var y = 3; // y = 3
블록 수준 범위
// 匿名函数写法 (function () { var tmp = ...; ... }()); // 块级作用域写法 { let tmp = ...; ... }
ES5의 엄격 모드에서는 함수가 최상위 범위에서만 선언될 수 있으며 function , 다른 상황(예: if 코드 블록 및 루프 코드 블록)의 명령문은 오류를 보고합니다.
// ES5 'use strict'; if (true) { function f() {} // 报错 }
ES6에 블록 수준 범위가 도입되었기 때문에 이러한 상황은 블록 수준 범위에서 함수가 선언되었기 때문에 오류가 보고되지는 않지만 블록을 구성하는 중괄호가 빠질 수는 없다고 이해할 수 있습니다
// 报错 'use strict'; if (true) function f() {}
선언된 전역 변수는 더 이상 window가 아닙니다.
"use strict"; var a = 1; console.log(window.a) // 1 let b = 1; console.log(window.b) // undefined
의 속성은 제가 모든 사람을 위해 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
javascript 함수에 대한 심층적인 이해와 실제 사용(코드 첨부)
JavaScript 기본 기술(그림 및 텍스트 자습서, 자세한 답변)
위 내용은 JavaScript에서 let 문을 사용하여 범위 선언(그림 및 텍스트 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!