자바스크립트를 공부하는 첫 번째 단계는 변수(variable)라는 개념을 이해하는 것이다. 변수란 원하는 값을 메모리에 저장하고 이를 참조하여 사용하는 방법이다. 달리 말하자면, 변수를 선언하는 것은 값을 저장하고 식별하기 위해 저장소의 이름을 붙이는 과정을 의미한다.
자바스크립트 변수의 개념
변수에 대한 정의가 복잡하다고 느껴질 수 있다. 그러나 아래의 예시를 보면 변수가 어떤 역할을 하는지 쉽게 이해할 수 있다.
let message;
message = 'Hello';
alert(message); // Hello
우리는 message
라는 변수를 선언했다. 그리고 여기에 'Hello'
라는 값을 할당했다. alert
는 브라우저의 알림창을 띄우는 코드인데, 이를 실행하면 화면에 Hello
라는 문구가 출력된다.
메시지의 문구(값)을 변경하려면 다음과 같이 할 수 있다.
let message;
message = 'Bye';
alert(message); // Bye
이제 코드를 실행하면 Bye
라는 메시지가 표시된다.
이것이 바로 변수의 역할이다! 변수를 통해 기억하고 싶은 데이터를 메모리에 저장하고, 이를 다른 곳에서 불러와 사용할 수 있다!
자바스크립트 변수 선언하기
위의 예시에서 우리는 변수를 선언할 때 let
이라는 키워드를 사용했다. 이 외에도 자바스크립트에서는 var
, let
, const
를 통해 변수를 선언할 수 있다. 각 키워드마다 디테일한 차이점이 존재하지만 여기서는 간략하게만 설명해보려 한다.
var
는 이전에 사용한던 방식으로 현재는 잘 사용하지 않는다. let
은 할당되는 값이 변할 때 사용하고, const
는 변하지 않는 상수를 선언할 때 사용하며, 이 때는 값을 재할당할 수 없다.
const number = 5;
console.log(number * number); // 25
변수 이름 짓는 방법
기본적으로 무엇이든 변수의 이름으로 지정할 수 있지만 몇 가지 규칙이 존재한다.
변수의 이름을 지을 때는 간결하고 명확하도록 해야 한다. 변수의 이름을 보고도 무엇을 담고 있는 것인지 알 수 있어야 한다.
자바스크립트에서 변수 이름은 숫자로 시작하지 않아야 하며, 구두점이나 특수 문자를 포함해서는 안 된다. 예외적으로 달러 기호($)나 언더스코어(_)는 사용할 수 있다.
변수의 이름이 여러 단어의 조합으로 이뤄질 경우에는 카멜 케이스나 스네이크 케이스를 사용하는 것이 일반적이다. 카멜 케이스(Camel Case)는 userName
처럼 첫 문자 이후의 단어를 대문자로 시작하는 것이며, 스네이크 케이스(Snake Case)는 user_name
처럼 언더스코어를 사용하는 것이다. 카멜 케이스가 보편적이지만, 어떠한 방법을 취하든 일관성을 유지하는 것이 좋다. 이 외에도 파스칼 케이스(PascalCase)도 있다. 이는 UserName
과 같이 각 단어를 대문자로 구분한다.
변수의 이름으로 사용할 수 없는 키워드
this
, true
등과 같이 자바스크립트 내 키워드로 지정되어 있을 경우에는 이를 변수 이름으로 사용할 수 없다. 자바스크립트 내에서 변수로 사용할 수 없는 키워드는 다음과 같다.
byte | case | catch | char |
abstract | arguments | boolean | break |
const | continue | debugger | default |
delete | do | double | else |
eval | false | final | finally |
float | for | function | goto |
if | implements | in | instanceof |
int | interface | let | long |
native | new | null | package |
private | protected | public | return |
short | static | switch | synchronized |
this | throw | throws | transient |
true | try | typeof | var |
void | volatile | while | with |
yield | class | enum | export |
extends | import | super |
마치며
자바스크립트에서 변수란 메모리에 값을 저장하고 활용하는 메커니즘을 의미한다. 변수는 크게 1) 선언 키워드 2) 변수의 이름(식별자)과 3) 값으로 구분된다. 변수는 var
, let
, const
의 키워드를 사용하여 선언할 수 있으며, 변수를 만들때는 규칙을 따라 간결하고 분명한 이름을 지어야 한다. 키워드로 사용되고 있는 단어들은 변수 이름으로 사용할 수 없다.
'개발 > JavaScript' 카테고리의 다른 글
[JavaScript] ⑤ 자바스크립트 함수란? (0) | 2020.06.07 |
---|---|
[JavaScript] ③ 자바스크립트 데이터 타입 (0) | 2020.06.07 |
[JavaScript] ① 자바스크립트란 무엇일까? (0) | 2020.06.05 |