1. 데이터 타입
1. 데이터 타입
자바스크립트의 모든 값은 데이터 타입을 갖는다. 자바스크립트에는 7개의 데이터 타입이 있다.
7개의 데이터 타입은 원시 타입(primitive type)과 객체 타입(object type)으로 분류할 수 있다.
이중 원시 타입에는 숫자, 문자열, 불리언, undefined, null, 심벌 타입이 있다.
1-1. 숫자(number) 타입
자바스크립트의 숫자는 모두 실수로 처리된다.
숫자 타입에는 세 가지 특별한 값이 포함된다.
- Infinity: 양의 무한대
- -Infinity: 음의 무한대
- NaN: Not a Number
1-2. 문자열(string) 타입
텍스트 데이터를 나타낸다. 문자열은 '', "", ``으로 감싸서 나타낸다.
이중 백틱 (``)은 템플릿 리터럴을 나타내는 데 사용된다.
템플릿 리터럴은 줄바꿈과 띄어쓰기가 적용되고, 표현식을 삽입할 수 있다는 점에서 '', ""과 구별된다.
let firstName = "Jeanne";
let lastName = "Lee";
console.log(`My name is ${firstName} ${lastName}.`); // My name is Jeanne Lee.
1-3. 불리언(Boolean) 타입
논리적 참과 거짓을 나타내는 true, false 값이 있다.
불리언은 아니지만 true 또는 false로 여겨지는 'thruthy', 'falsy' 값들도 있다.
// 대표적인 falsy 값
false
0
-0
0n
""
''
``
null
undefined
NaN
1-4. 기타
• undefined 타입
undefined 값만이 이 타입에 속한다.
초기화된 이후 값이 할당되지 않은 변수를 참조하면 undefined가 반환된다.
• 심벌 타입
ES6에서 추가된 타입이다. 다른 값과 중복되지 않는 유일무일한 값이다.
2. 변수
2-1. 변수의 선언과 할당
변수 선언이란 변수를 생성하는 것을 말한다.
변수를 선언할 때는 var, let, const 를 사용한다.
변수가 선언되고 나면 그 변수에 값을 할당할 수 있다.
할당 연산자(=)는 우변의 값을 좌변에 할당한다.
이미 값이 할당된 변수에 새로운 값을 할당하는 것은 재할당이라고 불린다.
⚠ var, let, const의 차이점
• var
- 변수 선언에 사용된다.
- 선언과 초기화가 동시에 진행된다.
- 블록 레벨 스코프가 아닌 함수 레벨 스코프를 지원한다. 따라서 의도치 않게 전역 변수가 선언될 수 있다.
• let
- 변수 선언에 사용된다.
- 선언 단계와 초기화 단계가 분리되어 진행된다.
- 블록 레벨 스코프를 지원한다.
• const
- var, let과 달리 상수 선언에 사용된다. 그러므로 값을 재할당 할 수 없다.
- 반드시 선언과 동시에 초기화해야 한다.
- 블록 레벨 스코프를 지원한다.
2-2. 변수 호이스팅
호이스팅(hoisting)이란 변수를 비롯해 함수, 클래스 등의 식별자가 런타임 이전 단계에서 먼저 실행되는 것을 말한다.
소스코드가 한 줄씩 실행되기 전에 자바스크립트 엔진은 소스코드를 평가하며 준비 단계를 거친다.
이 준비 단계에서 변수 선언을 비롯한 모든 선언문은 따로 선별돼 다른 소스코드를 순차적으로 실행하기 전에 먼저 실행된다.
'Javascript' 카테고리의 다른 글
[Javascript] 스코프와 클로저 (0) | 2023.03.03 |
---|---|
[Javascript] 원시 자료형과 참조 자료형 (0) | 2023.03.02 |
[Javascript] 객체 (0) | 2023.02.28 |
[Javascript] 배열 (1) | 2023.02.27 |
[Javascript] 조건문, 반복문, 함수 (0) | 2023.02.21 |