当前位置:网站首页>JS method of judging object type_ How to use typeof_ How to use instanceof_ How to use constructor_ Object.prototype.toString How to use ()
JS method of judging object type_ How to use typeof_ How to use instanceof_ How to use constructor_ Object.prototype.toString How to use ()
2020-11-09 12:58:00 【http://www.google.com/sea....tin-round+rock+texas】
JS How to judge the object type
typeof
typeof Method There's a... on the right data You can return the data type of this data Be careful typeof It's not the way No need to add ()
The returned data types are string( character string ) number( Numbers ) object( object )array( Array )boolean( Boolean )null( empty )undefined( Undefined )
var x = []
var y = {}
var z =null
var a
console.log( typeof 'aaa') // string
console.log( typeof 123) // number
console.log( typeof true) // boolean
console.log( typeof a) // undefined
console.log( typeof b) // undefined It's also undeclared undefined
console.log( typeof x) // object Arrays are also objects But with typeof Can't detect array
console.log( typeof y) // object
console.log( typeof z) // object null It's an empty object use typeof Detection is also the object
instanceof
instanceof Used to determine instanceof front Of data whether by instanceof after The type of Returns a Boolean value No need to add () however instanceof Can only be used to detect objects
var x = []
var y = {}
var z =null
var a = 'aaa'
console.log(x instanceof Object) //true Arrays are also objects
console.log(x instanceof Array) //true
console.log(y instanceof Object) //true
console.log(y instanceof Array) //false But arrays don't have to be objects
console.log(z instanceof Object) //false use instanceof Detecting empty objects It can't be detected
console.log(a instanceof String) //false instanceof It can only be used to judge objects Invalid for Strings
constructor
constructor It's through the prototype chain Can be used to find objects and common data Compared with instanceof and typeof It will be more precise
var x = []
var y = {}
var z = Date()
var a = 'aaa'
console.log(x.constructor==Object) //false ad locum Arrays are not recognized as objects
console.log(x.constructor==Array) //true
console.log(y.constructor==Object) //true
console.log(a.constructor==String) //true Strings can be recognized normally
console.log(z.constructor==Object) //false Time objects are not recognized as objects
console.log(z.constructor==Date) // true
Object.prototype.toString()
Object.prototype.toString() yes Object The archetypal approach Compared with the above three More accurate
var x = []
var y = {}
var z = new Date()
var a = 'aaa'
console.log(Object.prototype.toString.call(x)) //[object Array]
console.log(Object.prototype.toString.call(y)) //[object Object]
console.log(Object.prototype.toString.call(z)) //[object Date]
console.log(Object.prototype.toString.call(a)) //[object String]
版权声明
本文为[http://www.google.com/sea....tin-round+rock+texas]所创,转载请带上原文链接,感谢
边栏推荐
猜你喜欢

Nine kinds of distributed primary key ID generation schemes of sub database and sub table are quite comprehensive

嗯,查询滑动窗口最大值的这4种方法不错...

Tidb x micro banking reduces time consumption by 58%, and distributed architecture helps to realize inclusive finance

注意.NET Core进行请求转发问题

Impact of libssl on CentOS login

From coding, network transmission, architecture design, Tencent cloud high quality, high availability real-time audio and video technology practice

阿里、腾讯、百度、网易、美团Android面试经验分享,拿到了百度、腾讯offer

Using rem, the font size changes when the screen zooms

关于无相互作用极化率的计算

Android NDK development and actual combat WeChat official account 2-D code detection
随机推荐
嗯,查询滑动窗口最大值的这4种方法不错...
03.优先链接模型
块级元素和行内元素
03. Priority link model
Idea rest client, yes, I haven't opened postman yet
A simple way to realize terminal text paste board
Implement crud operation
Impact of libssl on CentOS login
What really drags you down is sunk costs
分库分表的 9种分布式主键ID 生成方案,挺全乎的
7-10倍写入性能提升:剖析WiredTiger数据页无锁及压缩黑科技
未来中国电信将把云计算服务打造成为中国电信的主业
Well, the four ways to query the maximum value of sliding window are good
Efficient estimation of word representations in vector space
彩虹排序 | 荷兰旗问题
手写Koa.js源码
Open source ERP recruitment
从汇编的角度看pdb文件
New features of Fedora 33 workstation
使用TreeView树型菜单栏(递归调用数据库自动创建菜单)