자바스크립트에는 7가지 내장 타입이 있다.
타입을 확인해보자
typeof undefined === "undefined"; // true
typeof true === "boolean"; // true
typeof 37 === "number"; // true
typeof "37" === "string"; // true
typeof {name: 'jude'}; // true
typeof Symbol() === "symbol"; // true
typeof null === "object"; // true
typeof [1,2,3] === "object"; // true
typeof function a() {/* --- */} === "function"; // true
함수는 타입이 function 으로 나오지만 실제론 object의 하위 타입이다.
명세엔 '호출 가능한 객체'라고 명시되어 있다.
function a(b,c,d) {
/* --- */
}
a.length // 3
함수는 인자의 개수를 길이로 갖는다.
null 체크 제대로 하기
var n = null;
(!n && typeof n === "object") // true
null은 falsy하면서 타입이 object인 특별한 존재