JavaScript 判断类型

1、toString() 第一选择

1
2
let obj = {}
Object.prototype.toString.call(obj) === '[Object Object]'

  

2、constructor

1
2
3
4
5
6
7
8
9
10
let obj = {}
obj.constructor === Object   //true
 
let array = []
array.constructor === Array   //true
 
let string= []
string.constructor === String//true
 
let d = null;d.constructor === Object //报错

  

3、instanceof

注意:使用instanceof对数组进行判断也是对象

1
2
3
4
let obj = {}
obj instanceof Object  //true
let arr = []
arr instanceof Object  //true

  

4、typeof

1
2
3
4
5
6
7
8
9
10
11
12
let obj = {}
typeof obj === Object
// 根据typeof判断对象也不太准确
表达式                       返回值
typeof undefined           'undefined'
typeof null                'object'
typeof true                'boolean'
typeof 123                 'number'
typeof "abc"               'string'
typeof function() {}       'function'
typeof {}                  'object'
typeof []                  'object'

  

posted @   272623186  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2018-01-19 CSS3自定义滚动条样式 -webkit-scrollbar
点击右上角即可分享
微信分享提示