데이터 타입을 확인할 때는 자바스크립트에서 기본적으로 지원하는 typeof라는 키워드를 통해서 가져올 수 있다. 하지만 아래처럼 null, { }, [ ] 의 경우 obejct라는 타입이 반환되면서 완벽한 결과를 얻을 수 없다.

console.log(typeof 'Hello world') // string
console.log(typeof 123) // number
console.log(typeof true) //boolean
console.log(typeof undefined) //undefined
console.log(typeof null) // object
console.log(typeof {}) // object
console.log(typeof []) // object

그래서 타입을 확인할 때는 다른 방법을 사용해야 하는데 그 중 하나로 다음과 같이 별개의 함수를 만들어서 사용하는 방식이 있다.

function getType(data) {
	return Object.prototype.toString.call(data).slice(8, -1)
}

console.log(getType(123)) // Number
console.log(getType(false)) // Boolean
console.log(getType(null)) // Null
console.log(getType({})) // Object
console.log(getType([])) // Array