자바스크립트에서 제일 먼저 배워 볼 것은 바로 변수입니다. 어떤 언어도 변수가 필요하지 않는 언어는 없을 것입니다. 이번에는 프로그래밍 언어의 가장 기초가 되는 변수를 탐구해보겠습니다.

 

변수의 선언

자바스크립트에서 알아볼 변수선언 키워드는 세 개입니다.

  • var
  • let
  • const

ES6 문법 이전에는 var 키워드만 쓰였습니다. 그러나 자바스크립트 문법이 발전해나감에 따라 var 키워드의 한계를 극복하기 위해서 letconst 가 등장하였습니다.

 

const는 C언어 등에서 많이 볼 수 있습니다. 개념이 비슷합니다. 아에 똑같다고 봐도 무방합니다. const는 상수로 변수와 달리 선언될 때 씌여진 값을 변경할 수 없습니다.

 

varlet은 변수로서의 역할은 동일하나 수행하는 기능에서 차이가 있습니다. 다만 알아두어야 할 것은 모던 자바스크립트를 사용한다면 var은 지양하고 let을 지향할 것을 알려드립니다.

 

var a = 10;
let b = "string";
const c = 100;

a = "changed";
b = 50;
c = 10;  // const이기 때문에 변경이 불가능하다

위의 예제를 보면 C언어와 달리 변수 선언 타입이 정해져 있지않습니다. 한번 선언된 변수는 문자(string), 숫자(number), 불리언(boolean), 함수(function) 까지 등 임의의 타입으로 변경이 가능합니다. 이는 초보자도 쉽게 접근가능하게 하려는 자바스크립트의 제작의도를 엿볼 수 있습니다.

 

 

식별자의 이름

식별자의 이름에는 규칙이 있습니다. 문법적 규칙과 개발자들 사이에서 통용되는 규칙들이 있습니다. 두가지 모두 살펴보려 합니다.

 

문법적 규칙으로는 다음과 같은 규칙이 있습니다.

  • 식별자는 반드시 글자달러 기호($), 밑줄(_)로 시작해야 합니다.
  • 식별자 이름은 글자숫자, 달러 기호, 밑줄만 쓸 수 있습니다.
  • 유니코드 문자도 사용 가능합니다.
  • 예약어는 사용하지 못합니다.  ex) let, const, for, if 등등

개발자들 사이에서 통용되는 규칙들은 다음과 같은 규칙이 있습니다.

  • 카멜 케이스(camel case)
  • 스네이크 케이스(snake case)

 

카멜 케이스

카멜이라는 이름은 중간중간의 대만주가 낙타의 혹처럼 보인다고 해서 붙은것 입니다.

ex) showMenuBar, fillColor

 

스네이크 케이스

스네이크는 밑줄을 이용하여 단어를 구분합니다. 마치 뱀처럼 이어져서 이름이 붙었습니다. 카멜케이스보다는 덜 쓰입니다.

ex) show_menu_bar, fill_color

 

 

원시 타입

원시타입은 불변성에 초점을 두고 있습니다. 숫자 5는 항상 숫자 5입니다. 변수 a와 b가 있다고 가정해보면, a가 가지고 있는 5라는 값과 b가 가지고 있는 5라는 값은 동일하고 불변하다는 것을 알고있어야합니다.

이런 원시타입에는 다음과 같은 종류가 있습니다.

  • 숫자
  • 문자열
  • 불리언
  • null
  • undefined
  • 심볼

 

 

마무리

첫 장에서는 간단하게 변수에 대해 훑어보았습니다. 다음 장에서는 객체지향언어의 핵심인 객체에 대해 좀 더 살펴볼 예정입니다.