자바스크립트 변수 선언 방식 정리
자바스크립트 변수 선언 방식 알아보기
자바스크립트는 현대 웹 개발에서 필수적인 언어로 자리잡았습니다. 이를 통해 다양한 웹 애플리케이션을 개발할 수 있으며, 특히 변수를 이용한 데이터 관리가 중요한 역할을 합니다. 이번 글에서는 자바스크립트의 변수 선언 방식인 var
, let
, const
에 대해 자세히 살펴보겠습니다.

자바스크립트의 변수 개념
변수란 데이터를 저장할 수 있는 이름이 붙은 메모리 공간을 의미합니다. 예를 들어, 사용자의 이름이나 입력된 값 등을 저장하는 데 활용됩니다. 자바스크립트에서 변수를 선언하는 방법은 여러 가지가 있으며 각 방식은 서로 다른 특성을 가지고 있습니다.
변수 선언 방법
자바스크립트에서는 var
, let
, const
세 가지 키워드를 사용해 변수를 선언할 수 있습니다. 각각의 선언 방식은 유효 범위(scope)와 재선언 가능성 등에서 차이를 보입니다.
- var: 전통적인 변수 선언 방법으로 함수 범위(function-scoped)를 가집니다. 즉, 함수 안에서 선언한 경우에만 해당 함수 내에서 사용이 가능하고, 함수 밖에서는 전역 변수로 취급됩니다.
- let: 블록 범위(block-scoped)를 가지며, 선언된 블록({ … }) 내에서만 사용 가능합니다. 이는 변수를 보다 안전하고 예측 가능하게 만들어 줍니다.
- const:
let
과 마찬가지로 블록 범위를 가지지만, 선언할 때 반드시 값을 할당해야 하며 이후 값을 변경할 수 없습니다. 보통 상수로 사용됩니다.
var 키워드로 선언하기
전통적으로 사용되던 var
를 사용하여 변수를 선언할 수 있습니다. 이 방식은 먼저 선언 후, 초기화를 하지 않더라도 에러가 발생하지 않습니다. 하지만 var
로 선언된 변수는 함수 안에서만 유효하며, 외부에서 접근할 수 있는 전역 변수로도 활용될 수 있습니다.
예를 들어:
var name = "홍길동";
function greet() {
var greeting = "안녕하세요, " + name;
return greeting;
}
console.log(greet()); // "안녕하세요, 홍길동" 출력
let 키워드로 선언하기
let
은 ES6부터 도입된 새로운 변수 선언 방식으로, 블록 범위를 가지므로 더 안전하게 변수를 관리할 수 있습니다. 이러한 이유로 현대적인 자바스크립트 코드는 let
을 선호하는 경향이 있습니다.
예를 들어:
if (true) {
let message = "안녕하세요";
console.log(message); // "안녕하세요" 출력
}
console.log(message); // ReferenceError: message is not defined

const 키워드로 선언하기
상수를 선언할 때 사용하는 const
는 변수를 재할당할 수 없도록 제한합니다. 이는 값이 변하지 않아야 하는 상수나 객체를 정의할 때 유용하게 사용됩니다. 물론, 객체의 경우 내부 속성은 변경할 수 있습니다.
예를 들어:
const PI = 3.14;
PI = 3.14159; // TypeError: Assignment to constant variable.
변수 유효 범위
변수의 유효 범위는 변수가 어디에서 사용할 수 있는지를 정의합니다. var
로 선언된 변수는 함수 내부에서만 유효하지만, let
과 const
는 코드 블록 내에서만 사용할 수 있습니다. 따라서 코드를 더 깔끔하게 관리할 수 있는 장점이 있습니다.
호이스팅(Hoisting)
변수 선언 전에 사용할 수 있게 하는 자바스크립트의 특성인 호이스팅도 중요한 개념입니다. var
로 선언된 변수는 선언이 코드 상단으로 끌어올려져 초기값은 undefined
를 가집니다. 그러나 let
과 const
는 호이스팅이 되더라도, 초기화되기 전에는 사용할 수 없습니다.
변수 명명 규칙
변수를 선언할 때는 몇 가지 명명 규칙을 준수해야 합니다.
- 변수명은 반드시 문자로 시작해야 하며, 숫자로 시작할 수 없습니다.
- 특수 기호로는
$
와_
를 사용할 수 있습니다. - 예약어는 변수명으로 사용할 수 없습니다.

마치며
자바스크립트에서 변수를 선언하는 방식과 그 특성에 대해 살펴보았습니다. 각 선언 방식의 이해는 코드 작성에 있어 매우 중요하며, 변수를 적절히 활용하면 더욱 효율적인 프로그래밍이 가능합니다. 따라서 자바스크립트의 변수 처리 방식을 잘 이해하고 활용하는 것은 개발자에게 필요한 중요한 기술 중 하나입니다.
자주 묻는 질문 FAQ
자바스크립트에서 변수를 선언하는 방법은 무엇인가요?
자바스크립트에서 변수를 선언하는 방식은 주로 var
, let
, const
세 가지가 있습니다. 각각은 유효 범위와 재선언 가능성에서 차이를 보입니다.
var, let, const의 차이는 무엇인가요?
각 키워드는 변수의 유효 범위가 다릅니다. var
는 함수 범위를 가지며, let
과 const
는 블록 범위로 제한됩니다.
let과 const 사용 시 주의해야 할 점은 무엇인가요?
let
은 블록 내에서 재선언이 가능하지만, const
는 반드시 초기값이 필요하고 값 변경이 불가능합니다. 따라서 상수를 정의할 때 적합합니다.
변수의 호이스팅이란 무엇인가요?
호이스팅은 자바스크립트의 독특한 특성으로, 변수를 선언하기 전에 사용할 수 있는 상황을 말합니다. var
로 선언된 변수는 초기화가 되지 않더라도 코드 상단에서 사용할 수 있으며, let
과 const
는 초기화되기 전까지는 사용이 불가능합니다.