JavaScript에서 변수를 선언할 때는 반드시 지켜야 할 명명 규칙(naming rules)이 있습니다. 이는 단순한 권장 사항이 아니라 엄격한 규칙이며, 이를 위반하면 코드가 실행되지 않습니다. 아래에서 핵심 규칙들을 하나씩 살펴보겠습니다.
JavaScript 변수 명명의 5가지 기본 규칙
- 변수 이름은 영문자(a~z), 숫자(0~9), 언더스코어(
_), 달러 기호($)로만 구성할 수 있습니다. - 변수 이름은 숫자로 시작할 수 없습니다.
- 변수 이름은 반드시 영문자, 달러 기호(
$), 또는 언더스코어(_)로 시작해야 합니다. - 변수 이름에는 공백을 포함할 수 없습니다.
- 변수 이름으로 예약어(reserved keyword)를 사용할 수 없습니다. 예를 들어
true,this등이 대표적입니다.
JavaScript 예약어란?
예약어는 JavaScript 언어 자체에서 이미 특정 용도로 사용하기로 약속된 키워드입니다. 만약 변수 이름을 예약어로 지으려고 하면 다음과 같은 오류가 발생합니다.
let this = "hey you"
// Uncaught SyntaxError: Unexpected token 'this'
this는 JavaScript에서 특별한 의미를 가지는 키워드이기 때문에 변수 이름으로 사용할 수 없으며, 문법 오류(SyntaxError)가 발생합니다. 이 외에도 let, const, function, return, if, else 등 수십 개의 예약어가 있으므로 변수 이름을 지을 때 주의해야 합니다.
대소문자 구분(Case Sensitivity)
JavaScript에서 변수는 대소문자를 엄격하게 구분합니다. 발음은 같지만 철자의 대소문자가 다른 다음 두 변수를 보세요.
helloTherehellothere
JavaScript 세계에서 이 둘은 완전히 다른 두 개의 변수입니다. 따라서 변수를 선언하고 참조할 때는 대문자와 소문자를 항상 꼼꼼히 확인해야 합니다. 실무에서 대소문자 오타는 흔히 발생하는 버그의 원인이 되므로 각별히 주의하세요.
변수 이름을 짓는 관례: 카멜 케이스(camelCase)
변수 이름을 대문자로 시작하는 것도 가능하지만, 순수 JavaScript(vanilla JavaScript)에서 가장 널리 사용되는 패턴은 카멜 케이스(camelCase)입니다. 카멜 케이스는 첫 번째 단어의 첫 글자는 소문자로 쓰고, 이후에 오는 단어들의 첫 글자는 대문자로 쓰는 방식입니다.
let aGoodRuleOfThumb
이렇게 하면 여러 단어로 이루어진 변수 이름도 공백 없이 읽기 쉽게 표현할 수 있어, 코드의 가독성과 유지보수성이 크게 향상됩니다. 팀 프로젝트에서 일관된 네이밍 컨벤션을 유지하는 것은 협업의 기본이니, 카멜 케이스를 습관화하는 것을 추천합니다.