변수
: 변수는 var나 let, const를 사용하여 선언할 수 있다.
var와 let, const의 차이점
1. var
① 변수의 선언: 중복 선언O, 재할당O
→ var는 중복된 변수가 생기거나 값이 변경될 수 있기 때문에 이를 보완한 타입이 let과 const이다.
② 변수의 사용 범위(스코프): 변수가 선언된 함수 영역 내에서 사용할 수 있다.
2. let
① 변수의 선언: 중복 선언X, 재할당O
② 변수의 사용 범위(스코프): 변수가 선언된 블록({}) 내에서만 사용할 수 있다.
3. const
① 변수의 선언: 중복 선언X, 재할당X → 상수의 개념과 같음
② 변수의 사용 범위(스코프): 변수가 선언된 블록({}) 내에서만 사용할 수 있다.
변수의 선언 위치에 따른 전역변수/지역변수
특정한 함수 영역 밖에서 선언된 변수를 전역변수로 사용한다.
전역변수를 선언한 후 지역변수를 전역변수와 동일한 이름으로 선언할 경우에는 지역변수가 우선순위를 갖는다. 이때, 전역변수에 접근하려면 window.나 this.로 접근할 수 있다.
자료형
: 변수를 선언할 때 자료형을 따로 지정하지 않는다.
자료형은 변수에 대입되는 값(리터럴)에 따라 알아서 결정된다.
- JavaScript의 자료형
: string(문자열), number(숫자), boolean(논리값), object(객체), function(함수), undefined(정의 안됨)
- typeof(변수): 변수의 자료형을 반환한다.
→ 이름의 자료형: string
00의 자료형: number
true/false의 자료형: boolean
["walk", "sleep", "wake"]의 자료형: object
function(){}의 자료형: function
undefined의 자료형: undefined