16. Boolean 타입, Object 타입
불리언 타입
불리언 타입
값 : true, false
console.log(true); // true console.log(false); // false
Object 타입
Object 형태 (대문자)
{ name: value } 형태
var book = { title: "책", point: 123 }; console.log(book); // {title: 책, point: 123}
- 중괄호 {} 안에 key: value 형태로 작성합니다.
- 콜론(:)을 기준으로 왼쪽을 프로퍼티 키 또는 name이라고 부르며 오른쪽을 프로퍼티 값이라고 부릅니다.
ES5에선 name과 key를 구분하지 않아도 됩니다.
프로퍼티(property)
- name과 value 하나를 지칭
- Objeck는 프로퍼티 집합
타입정리
- JS의 기본 데이터 타입 정리
기본 데이터 타입을 Primitive 타입이라고 합니다.
console.log(typeof 123); // number console.log(typeof "문자열"); // string console.log(typeof true); // boolean console.log(typeof undefined); // undefined
- 시맨틱적으로 데이터 타입을 짐작할 수 있다.
- undefined는 갑과 타입이 같습니다.
데이터 타입이 같다?
console.log(typeof null); // object console.log(typeof {book: "책"}); // object
- null과 {book: “책”}의 데이터 타입이 object 입니다.
- null의 데이터 타입이 null이 아닙니다.
- 이에 대해서는 관련된 곳에서 다룹니다.
- 이는 설계 미스입니다. 그래서
typeof
연산자에 한계가 있습니다.
한편 ES6에서는 이를 해결할 수 있는 것이 나왔습니다.
ES5로는null
과{}
를 구분할 수 있는 방법은 없다는 것입니다.