实现判断数据类型的函数
分析:
typeof只能返回,string、number、boolean、undefined、object
null会被判为object
array会被判为object
所以⽐较优雅的⽅式是String.call()的⽅法,最后再⽤正则把其中的[object ]替换掉就ok了
function typeOf(obj){
if(obj ===null)return String(null)
return typeof obj ==='object'
? String.call(obj).replace(/(\[object|\])/g,'').toLowerCase()
:typeof obj
}
typeof arraylet obj =typeOf({})
let arr =typeOf([])
let number =typeOf(123)
let str =typeOf('hello')
let fun =typeOf(function fn(){})
let bool =typeOf(true)
let nul =typeOf(null)
let kong =typeOf(undefined)
console.log(obj, arr, number, str, fun, bool, nul, kong);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论