[JS] 'var' 중요 특징

박두팔이·2024년 1월 30일
0

자바스크립트

목록 보기
1/5

JavaScript에서의 var 선언의 중요한 특징

JavaScript에서 var 키워드를 사용하여 변수를 선언할 때 고려해야 할 중요한 특징들이 있다. 이러한 특징들은 코드의 동작을 이해하고, 예상치 못한 버그를 방지하는 데 도움이 된다.

호이스팅(Hoisting)

  • JavaScript에서 var로 선언된 변수는 해당 변수가 선언된 함수 또는 전역 컨텍스트의 최상단으로 끌어올려진다. 이를 호이스팅이라고 한다.
  • 변수의 초기화는 호이스팅되지 않으며, 오직 선언만이 호이스팅된다.
console.log(myVar); // undefined, 에러가 발생하지 않음
var myVar = 5;

함수 스코프(Function Scope)

var로 선언된 변수는 가장 가까운 함수 스코프 내에서 유효하다. 이는 블록 스코프(예: if, for 블록 내)를 무시한다는 의미다.

if (true) {
    var test = "Hello World!";
}
console.log(test); // "Hello World!" 출력, 블록 스코프를 무시함

중복 선언

var로 선언된 변수는 같은 스코프 내에서 중복 선언이 가능하다. 이는 코드의 가독성과 유지보수성을 저하시킬 수 있다.

var greeting = "Hello";
var greeting = "World!";
console.log(greeting); // "World!" 출력

전역 객체의 속성

전역 스코프에서 var로 선언된 변수는 전역 객체의 속성이 된다. 브라우저 환경에서는 window, Node.js 환경에서는 global 객체이다.

var globalVar = "This is global";
console.log(window.globalVar); // 브라우저 환경에서 "This is global" 출력

var 사용의 대안

위와 같은 var의 특징들로 인해, ES6에서는 let과 const가 도입되었다.

  • 이들은 블록 스코프를 지원하며,
  • 중복 선언을 허용하지 않는다. 가능하다면 var 대신 let 또는 const 사용을 고려해야 한다.
let blockScopedVar = "This is block scoped";
const constantValue = "This value cannot be changed";
profile
기억을 위한 기록 :>

0개의 댓글