> 웹 프론트엔드 > JS 튜토리얼 > JavaScript에서 let 문을 사용하여 범위 선언(그림 및 텍스트 튜토리얼)

JavaScript에서 let 문을 사용하여 범위 선언(그림 및 텍스트 튜토리얼)

亚连
풀어 주다: 2018-05-21 13:40:50
원래의
1379명이 탐색했습니다.

먼저 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 &#39;x&#39; has already been declared

var y = 2;
var y = 3; // y = 3
로그인 후 복사

블록 수준 범위

// 匿名函数写法
(function () {
 var tmp = ...;
 ...
}());

// 块级作用域写法
{
 let tmp = ...;
 ...
}
로그인 후 복사

ES5의 엄격 모드에서는 함수가 최상위 범위에서만 선언될 수 있으며 function , 다른 상황(예: if 코드 블록 및 루프 코드 블록)의 명령문은 오류를 보고합니다.

// ES5
&#39;use strict&#39;;
if (true) {
 function f() {} // 报错
}
로그인 후 복사

ES6에 블록 수준 범위가 도입되었기 때문에 이러한 상황은 블록 수준 범위에서 함수가 선언되었기 때문에 오류가 보고되지는 않지만 블록을 구성하는 중괄호가 빠질 수는 없다고 이해할 수 있습니다

// 报错
&#39;use strict&#39;;
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에 대한 자세한 답변 모듈

위 내용은 JavaScript에서 let 문을 사용하여 범위 선언(그림 및 텍스트 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿