데이터 타입은 줄여서 '타입'이라고도 하며 값의 종류를 말한다
자바스크립트는 7개의 데이터 타입을 제공하고 원시 타입과 객체 타입으로 분류할 수 있다
📌 자바스크립트의 7가지 타입
🍞 원시 타입
- 숫자
- 문자열
- 불리언
- undefined : var 키워드로 선언된 변수에 암묵적으로 할당되는 값
- null : 값이 없다는 것을 의도적으로 명시할 때 사용하는 값
- 심벌
🍞 객체 타입
자바스크립트는 객체 기반의 언어이며, 자바스크립트를 이루고 있는 거의 모든 것이 객체이다
📌 데이터 타입이 필요한 이유
- 값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기 위해
- 값을 참조할 때 한 번에 읽어 들여야 할 메모리 공간의 크기를 결정하기 위해
- 메모리에서 읽어 들인 2진수를 어떻게 해석할지 결정하기 위해
📌 동적 타이핑
🍞 동적 타입 언어와 정적 타입 언어
C나 자바 같은 정적 타입 언어는 변수를 선언할 때 변수에 할당할 수 있는 값의 종류(=데이터 타입)를 사전에 선언해야 한다 👉 명시적 타입 선언
정적 타입 언어는 변수의 타입을 변경할 수 없고, 변수에 선언한 타입에 맞는 값만 할당할 수 있다
또한 컴파일 시점에 타입 체크를 수행한다
자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정(=타입 추론)되고, 재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있다 👉 동적 타이핑, 동적 타입 언어
동적 타입 언어는 유연성은 높지만 신뢰성은 떨어진다
🍞 변수를 사용할 때 주의할 점
- 변수는 꼭 필요한 경우에 한해 제한적으로 사용한다
- 변수의 유효 범위(스코프)는 최대한 좁게 만들어 변수의 부작용을 억제해야 한다
- 전역 변수는 최대한 사용하지 않도록 한다
- 변수보다는 상수를 사용해 값의 변경을 억제한다
- 변수 이름은 변수의 목적이나 의미를 파악할 수 있도록 네이밍한다