ProgrammingLang/Javascript

[javascript] 변수 형식 정리(var, let ,const)

jinkwon.kim 2023. 8. 28. 08:51
728x90
반응형

개요

var, let, 그리고 const는 JavaScript (및 Node.js)에서 변수를 선언할 때 사용하는 키워드들입니다. 이들의 주요 차이점을 아래에 정리하였습니다:

Scope (범위):

var

Function scope입니다. 즉, 변수는 선언된 함수 내에서 액세스할 수 있습니다. 함수 외부에서 선언된 경우 전역 범위를 갖습니다.

let과 const

Block scope입니다. 즉, 중괄호 {} (예: if 문, for 루프 등) 내에서 선언된 변수는 해당 블록 내에서만 액세스할 수 있습니다.

Reassignment (재할당):

   - var와 let: 변수에 새로운 값을 재할당할 수 있습니다.

   - const: 한 번 값을 할당하면 재할당할 수 없습니다. 그러나 const로 선언된 객체의 프로퍼티는 변경할 수 있습니다.

Hosting (호이스팅):

var

변수 선언이 해당 범위의 최상단으로 "호이스팅"됩니다. 그러나 초기화는 원래 선언된 위치에서 이루어집니다.

let과 const

호이스팅 되기는 하지만, 선언 전에 액세스하려고 하면 ReferenceError가 발생합니다. 이를 "Temporal Dead Zone"이라고도 합니다.

Global Object Property:

var

전역 범위에서 var로 변수를 선언하면, 그 변수는 전역 객체 (브라우저에서는 window, Node.js에서는 global)의 프로퍼티로 설정됩니다.

let과 const

전역 객체의 프로퍼티로 설정되지 않습니다.

사용 권장 사항

- 일반적으로 변수를 재할당할 필요가 없는 경우 const를 사용하는 것이 좋습니다.

- 재할당이 필요한 경우에는 let을 사용하고, var는 최대한 피하는 것이 현대의 JavaScript 개발 스타일과 일치합니다.

728x90
반응형