1. 숫자(Number)
2. BigInt
3. 문자열(String)
4. Boolean
5. Null, Undefined
6. Symbol
7. 객체(Object)와 배열(Array)
- Set 객체 : 값의 집합
- Map 객체 : 키와 값의 연결
- 형식화 배열 : 바이트 배열과 다른 이진 데이터를 연결
- Date 타입 : 날짜 , 시간 표현
- Error 타입
- 함수
- 클래스
- RegExp 타입: 텍스트 패턴
(문자열에서 정교한 매칭, 검색, 대체 동작을 할 수 있다)
true / false 값만 존재
false로 해석되는 값 |
---|
undefined |
null |
0 |
-0 |
NaN |
"" (빈 문자열) |
// 0 은 false 로 해석되므로 바로 else문으로 진행
if (0) {
console.log(true);
} else {
console.log(false);
} // false
undefined, null, NaN은 false로 해석될 뿐,
!= false (false와 동등한 값은 아님) 주의!
console.log(0 == false); // true
console.log("" == false); // true
console.log(undefined == false); // false
console.log(null == false); // false
console.log(NaN == false); // false
undefined
값이 지정되지 않음
null
값이 없음을 지정함
let empty;
console.log(empty); // undefined
empty = null;
console.log(empty); // null
console.log(null === undefined); // false (타입은 다르지만,)
console.log(null == undefined); // true (느슨한 동치연산자로 비교했을 때 값은 같다)