Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 var와 let의 차이점

<시간/>

자바스크립트에서 변수를 선언하기 위해 var로 선언하거나 let으로 선언하는 두 가지 옵션이 있습니다. 이제 문제는 언제 var를 사용하고 언제 let을 사용해야 하는지입니다. 즉, 둘의 주요 차이점은 무엇입니까?

다음 텍스트에서 자바스크립트에서 var와 let의 주요 차이점을 알게 됩니다.

let과 var의 주요 차이점은 let으로 정의된 변수의 범위는 변수가 선언된 블록으로 제한되는 반면 var로 선언된 변수는 전역 범위를 갖는다는 것입니다. 따라서 var는 블록 범위에 관계없이 전역적으로 변수를 정의하는 키워드라고 말할 수 있습니다.

let 의 범위는 그것이 정의된 블록에 국한되지 않고 let 변수도 블록 외부에 선언되더라도 전역 창 객체와 함께 추가되지 않습니다. 그러나 전역적으로 정의된 경우 창 개체에서 var를 사용하여 변수에 액세스할 수 있습니다.

제한된 범위로 인해 let 변수는 일반적으로 for 루프, while 루프 또는 if 조건 등의 범위 내에서 변수의 사용이 제한적일 때 사용되는 반면 var 변수는 변수의 값이 덜 변경되고 사용되어야 할 때 사용됩니다. 전 세계적으로 액세스할 수 있습니다.

또한 var와 let의 차이점은 var가 있는 변수는 다른 값으로 다시 선언할 수 있는 반면 변수는 let으로 정의하면 다시 선언할 수 없다는 것입니다.

var와 let의 차이를 나타내는 예

let a = 'hello'; // globally scoped
var b = 'world'; // globally scoped
console.log(window.a); // undefined
console.log(window.b); // 'world'
var a = 'hello';
var a = 'world'; // No problem, 'hello' is replaced.
let b = 'hello';
let b = 'world'; // SyntaxError: Identifier 'b' has already been declared