8️⃣ 8가지의 자료형
1) 숫자형
- 정수, 부동 소수점 숫자 등의 숫자(정수의 한계는 ±253)
2) BigInt
- 길이 제약 없는 정수 나타낼 수 있다.
- 끝에 n 붙으면 BigInt형
const bigInt = 1234567890123456789012345678901234567890n;
3) 문자형
// 1. Double Quotes, Single Quotes, 일반 문자형
let doubleQuotes = "Hello world";
let singleQuotes = 'Hello world';
// 2. Backtick, 변수나 표현식을 문자열 중간에 삽입할 때 ${} 기호와 함께 사용
let name = 'soo';
console.log(`Hello ${soo}!`);
4) 불린형
- true, false
5) null
- 오로지 null 값만 포함하는 별도의 자료형을 만든다.
- 자바스크립트에선 존재하지 않는(nothing), 비어있는(empty), 알 수 없는(unknown) 값들을 나타내는 데 사용한다.
6) undefined
- null 값처럼 자신만의 자료형을 형성
- 값이 할당되지 않은 상태 나타낼 때 사용
- 변수는 선언했지만, 값을 할당하지 않았다면 자동으로 해당 변수에 할당된다.
- 🚨 직접 할당하는 것은 권장하지 않는다. null을 사용할 것(변수의 초기값을 위해 예약어로 남겨두기)
7) 객체형
- 특수한 자료형
- 데이터 컬렉션이나 복잡한 개체(entity) 표현할 수 있다.
8) Symbol
- 객체의 고유한 식별자 만들 때 사용한다.
🔍 typeof 연산자
- 2가지 형태의 문법을 지원한다.
1) 연산자 typeof x
typeof undefined // "undefined"
typeof 0 // "number
2) 함수 typeof(x)
- 🚨 'function' 출력해주기는 하나 자료형에는 '함수형'이라는 것은 없음, function은 객체형에 속함
- 하위 호환성을 유지하기 위해 오류 수정 하지 않음
function hello() {
console.log('hello');
}
typeof hello; // "function"
🚨 typeof null
- 결과는 'object'
- 별도의 고유한 자료형을 가지는 특수 값으로 객체가 아니지만, 하위 호환성을 유지하기 위해 오류 수정 하지 않음
- null은 객체가 아니다!