변수
는 데이터를 저장할 때 쓰이는 이름이 붙은 저장소- 고정된 타입이 없으며 같은 변수에 여러 타입의 값을 자유롭게 할당할 수 있다.
- 변수는 var, let, const 키워드를 사용하여 선언하며 할당 연산자
=
를 사용하여 값을 할당한다.- 변수명을 사용해 변수에 저장된 값을 참조할 수 있다.
- var 키워드는 중복 선언이 가능하기에 동일한 변수명이 있을 경우 에러를 찾기 힘들다는 점이 있어 ES6 버전으로 넘어오면서 거의 사용하지 않는다.
- 변수명은 숫자, 알파벳이 포함될 수 있다.
- $, _가 포함될 수 있다.
- 영문자는 대소문자를 구분한다.
- 숫자로 시작할 수 없다,
- 자바스크립트 예약어는 식별자가 될 수 없다.(let, break, continue, function ...)
let age; // 변수 선언
age = 20; // 값 할당
age = 25; // 값 재할당
const name; // 상수 선언
name = 'lee'; // 값 할당
name = 'hong'; // ERROR
위 코드를 보면 let, const 타입으로 할당, 재할당이 모두 이루어졌지만 const 타입에선 재할당시 오류가 발생한다.
const는 상수 타입으로 한번 할당 시 재할당이 불가능하다.
위 코드에선 다루지 않았지만 변수 선언 및 할당은 한 차례에 가능하다.
변수는 유효범위에 따라 전역변수와 지역변수로 구분할 수 있다.
- 전역변수는 함수 외부에서 선언된 변수로, 프로그램 전체에서 접근할 수 있다.
- 지역변수는 함수 내부에서 선언된 변수로, 함수가 종료되면 소멸. 해당 함수 내에서만 접근 가능하다.
let name1 = 'lee'; // 전역변수
function prac() {
let name2 = 'hong'; // 지역변수
console.log(name2);
}
console.log(name1); // lee
prac(); // hong
console.log(name2); // not defined
참고사이트