자바스크립트 자료형 확인


1. typeof DATA

가장 간단한 방법이지만 arraynullobject로 나온다.

// typeof DATA
console.log(typeof data.string) // 'string'
console.log(typeof data.number) // 'number'
console.log(typeof data.boolean) // 'boolean'
console.log(typeof data.null) // 'object'
console.log(typeof data.undefined) // 'undefined'
console.log(typeof data.symbol) // 'symbol'
console.log(typeof data.bigint) // 'bigint'
console.log(typeof data.array) // 'object'
console.log(typeof data.object) // 'object'
console.log(typeof data.function) // 'function'

2. DATA.constructor

constructornullundefinedTypeError가 나온다.

// DATA.constructor
console.log(data.string.constructor === String)
console.log(data.number.constructor === Number)
console.log(data.boolean.constructor === Boolean)
console.log(data.null.constructor) // TypeError!
console.log(data.undefined.constructor) // TypeError!
console.log(data.symbol.constructor === Symbol)
console.log(data.bigint.constructor === BigInt)
console.log(data.array.constructor === Array)
console.log(data.object.constructor === Object)
console.log(data.function.constructor === Function)

3. Object.prototype.toString.call(DATA)

복잡한 방법이지만 가장 정확하다.

// Object.prototype.toString.call(DATA) 
// '[object TYPE]'
function checkType(d) {
  return Object.prototype.toString.call(d).slice(8, -1)
}
console.log(checkType(data.string)) // 'String'
console.log(checkType(data.number)) // 'Number'
console.log(checkType(data.boolean)) // 'Boolean'
console.log(checkType(data.null)) // 'Null'
console.log(checkType(data.undefined)) // 'Undefined'
console.log(checkType(data.symbol)) // 'Symbol'
console.log(checkType(data.bigint)) // 'BigInt'
console.log(checkType(data.array)) // 'Array'
console.log(checkType(data.object)) // 'Object'
console.log(checkType(data.function)) // 'Function'
profile
안녕하세요! 뉴비프론트엔드개발자입니다!

0개의 댓글