[javascript] var와 let, const의 메모리 사용 차이

자바스크립트에서 변수를 선언하는 방법으로 var, let, const가 있습니다. 각각은 메모리 관점에서 다르게 사용됩니다. 이번 글에서는 var, let, const의 메모리 사용 차이에 대해 살펴보겠습니다.

var

var 키워드는 함수 스코프를 가지고 있습니다. 함수 스코프란 변수가 함수 내에서만 유효하다는 것을 의미합니다. var로 선언된 변수는 호이스팅(Hoisting)에 영향을 받습니다. 호이스팅은 변수를 선언하기 전에도 변수를 참조할 수 있는 특성을 말합니다. 즉, 해당 변수가 선언되기 전에도 변수를 사용할 수 있습니다.

let

let 키워드는 블록 스코프를 가지고 있습니다. 블록 스코프란 변수가 선언된 블록 내에서만 유효하다는 것을 의미합니다. let으로 선언된 변수는 호이스팅은 발생하지만 초기화되기 전에는 참조할 수 없습니다.

const

const 역시 let과 마찬가지로 블록 스코프를 가집니다. 하지만 선언 시에 초기화가 필수적이며, 이후에 재할당이 불가능합니다.

따라서, 위와 같은 특징으로 인해 변수의 스코프와 메모리 상에서의 차이가 발생하게 됩니다.

이러한 차이를 이해하고 적절히 활용한다면 변수를 더욱 효율적으로 다룰 수 있게 될 것입니다.

이상으로 var와 let, const의 메모리 사용 차이에 대해 알아보았습니다.

더 많은 정보는 이 링크를 참고할 수 있습니다.

// 예제 코드
var x = 10;
let y = 20;
const z = 30;