JavaScript와 변수


변수(Variable)은 문자나 숫자와 같은 데이터를 임시로 담아놓기 위해 사용해요. 예를 들어 우리가 원의 지름을 구한다고 생각해봐요. 3.1415926535 라는 숫자와 원의 지름을 곱하면 원둘레가 나오죠. 그런데 원둘레를 구할때마다 매번 3.1415926535라는 숫자를 입력하려면 너무 끔찍하잖아요. 이럴 경우 변수를 이용해서 3.1415926535라는 숫자를 담아놓을 수 있어요.

변수 선언하기

var pi = 3.1415926535;

자바스크립트에서 변수는 var 를 사용해서 선언해요. 위의 예에서 처럼 var 뒤에 변수의 이름을 적고 변수의 값을 적어주면 변수를 선언한 것이죠. 이제 pi 라는 변수는 컴퓨터의 메모리 어딘가에 저장되어 있어요. 변수가 필요한 경우에 간단하게 pi라는 변수명을 이용해서 3.1415926535라는 숫자를 사용할 수 있어요.

세미콜론 - 자바스크립트에서 문장의 끝에는 세미콜론(;) 을 써줍니다. 마치 글을 쓰고 문장의 끝에 마침표를 찍는것과 같아요. 사실 알고보면 세미콜론을 생략할 수도 있는데, 우선은 모든 문장의 끝에는 세미콜론을 쓰는 습관을 들여야 해요.

변수명 뒤에 대입연산자 (=)를 이용해 값을 할당했는데, 비워놓을 수도 있어요.

var pi;

그러면 변수에는 값이 할당되지 않았다는 의미로 undefined 가 할당되요.

변수 사용하기

우리는 pi 라는 변수를 만들었으니 이제 변수를 사용해서 원둘레를 계산하는 프로그램을 만들어 봅시다. 원둘레를 구하는 공식은 원주율 X 지름이었죠.

var pi = 3.1415926535;
var circumference = pi * 10;
console.log("지름 10인 원의 원둘레 : " + circumference);
// 지름 10인 원의 원둘레 : 31.415926535

변수는 변하는 값

변수에 한번 값을 저장했다고 하더라도 다시 새로운 값을 저장하면 기존의 변수에 저장되어 있던 값은 버려지고 새로운 값이 저장되요.

pi = 3.14;
console.log(pi); // 3.14

이제 pi의 값은 3.14가 할당되었어요. 여기서 pi라는 변수는 이미 위에서 var를 통해 선언했으며, 새로운 값을 할당할 경우에는 다시 var 키워드를 사용할 필요는 없어요.

지금 pi의 값에는 숫자가 저장되어 있는데요, 자바스크립트는 동적 타입언어라서 변수에 숫자가 아니라 문자열을 넣으면 문자열이 할당되요.

pi = "Life of Pi";
console.log(pi); // Life of Pi

동적 타입 언어 : C나 Java와 같은 언어는 변수를 선언할 때, 변수의 자료형도 같이 선언해요. 그래서 만약 다른 자료형을 대입하려고 하면 에러가 발생하죠. 하지만 JavaScript와 같은 스크립트 언어는 동적 타입을 사용하는 경우가 많아요.

변수명 작성 시 유의사항

변수명을 정할 때는 몇가지 조심해야 할 것이 있어요.

우선 자바스크립트는 대문자와 소문자를 구분해요. 변수명 PIpi 는 다른 변수가 되는거죠.

변수명은 특수문자나 숫자로 시작할 수 없어요. 즉 var 123name 같은 변수명은 쓸 수 없죠. 단 특수 문자 중에서 $_ 는 사용할 수 있어요. 저 두가지 기호는 엄청나게 많이 쓰이니까 꼭 기억해야 해요.

자바스크립트에서 여러단어로 이루어진 변수명을 사용하고 싶을때는 camelCase라는 기법을 사용해요. 이건 변수명의 가장 첫 단어는 소문자로 적고 이어지는 단어는 첫 글자만 대문자로 적어서 단어와 단어를 구분하는 방식이에요. 꼭 낙타처럼 생겨서 camelCase라고 부르죠. 예를 들면 이런식이에요.

var myName = "Alice";
var thisIsSampleVariableName;

변수 선언 시 각 변수를 콤마(,)로 구분해서 한번에 선언할 수 있어요.

var name = "Alice", age = 10;

문장에서의 공백은 무시되요. 즉 위의 문장은 아래처럼 작성할 수도 있는거죠.

var name='Alice',age=10;

하지만 이렇게 코딩을 하면 코드를 읽기가 너무 힘들어요. 문장에서의 공백이 무시된다는 특징을 이용해서 적절히 보기 좋게 띄어쓰기를 해주어야 가독성이 좋아집니다.

예약어(keyword)

자바스크립트에는 자바스크립트가 자체적으로 사용하기 위해 미리 할당된 예약어라는게 있어요. 예를 들어 변수 선언을 위해 사용했던 var 같은 것들이 예약어에요.

이런 예약어들은 정해진 용도 외에는 사용할 수 없어요. var라는 키워드는 변수 선언에만 사용할 수 있어요. 즉, var var = var; 이런건 말이 안되는 거죠.

예약어는 종류는 상당히 많은데요. 하나하나 외우기 보다는 자바스크립트에 익숙해 지다 보면 차차 알게될거에요.

SHARE