
프로그래밍에서 데이터를 담는 공간이다.
let 변수이름 = 저장데이터;
선언 방법은 let 키워드를 사용하며, =는 대입 연산자로서 우측에 있는 값을 왼쪽에 있는 변수에 담는 연산자다. ;(세미콜론)은 문장의 끝을 알린다. 오류를 방지하기 위해 문장이 끝나면 꼭 선언해 주도록 하자.
참고로 함수 선언식에서는 마지막에 세미콜론을 붙이지 않는데 이건 하나의 관습이고, 코드 작성시 권장되는 방식이다. 그리고 자바스크립트에서는 세미콜론 사용을 강제하지는 않는다. 그 이유는 자바스크립트 인터프리터가 자동으로 세미콜론을 삽입시켜 주기 때문이다. 하지만 세미콜론을 꼭 선언해 주는 습관을 가지도록 해야한다. 신경을 안쓴다면 코드를 압축하거나 디버깅중에 심각한 오류를 가지게 될수 있기 때문이다.
변수는 크게 네가지로 나뉠수 있으며 종류는 아래와 같다.
전역변수(Global letiable): 전역에서 사용되는 변수로서 어디서든 접근이 가능하다.
지역변수(Local letiable): 특정 지역에서 사용되는 변수로서 보통 함수 내부에 만들어 지는 변수
인자 & 매개변수(Parameter): 함수 외부에서 데이터를 받을 때 사용되는 변수
인수(Arguments)와인자 & 매개변수(Parameter)에 대해 많이 헷갈려 했었는데, 인수는 함수를 호출할때 대입하는 값을 의미하고 인자 & 매개변수는 함수 외부에서 전달받은 값을 의미한다고 볼 수 있다.function func(foo) { return foo; // foo = 인자 & 매개변수 } func("value") // "value" = 인수
속성(Property): 객체의 속성값으로 쓰이는 변수이다. 참고로 전역 객체는 window 객체이다. 전역변수를 선언한다면 자동으로 window 객체의 프로퍼티가 된다고 생각하면 된다.
let obj = {
name: "foo"
};
// name = 속성(프로퍼티, 아니면 키)
// foo = 속성의 값(프로퍼티 값 아니면 키값)
변수를 만들때는 주의사항이 네가지 있다.