当前位置:网站首页>Js判断数据类型的4种⽅式
Js判断数据类型的4种⽅式
2022-07-28 22:06:00 【仙女爱吃鱼】
1.Js判断数据类型的4种⽅式
Js数据类型 es5 6种数据类型:string、number、boolean、object(Data、function、Array)、null、undefined
Es6中新增了⼀种数据类型:symbol:表示独⼀⽆⼆的值,最⼤的⽤法是⽤来定义对象的唯⼀属性名,⽆论何时都不相等
var s1 = Symbol("symbol");
1.typeof
- 对于基本类型,除 null 以外,均可以返回正确的结果。
- 对于引⽤类型,除 function 以外,⼀律返回 object 类型。
- 对于 null ,返回 object 类型。
- 对于 function 返回 function 类型。
Typeof NaN = number
Typeof null = object
Typeof object = function Object/Array/String/Number/Boolean/Date/RegExp都是构造函数
Typeof {} = object
typeof console.log = ‘function’ 函数本身
typeof console.log() = ‘undefined’ 运⾏函数,默认返回undefined
2.instanceof
测试A是否是B的实例,⽐较A._proto是否和B.prototype相等
,instanceof 只能⽤来判断两个对象是否属于实例关系, ⽽不能判断⼀个对象实例具体属于哪种类型。
[] instanceof Array
{} instanceof Object
instanceof (A,B) = {
var L = A.__proto__;
var R = B.prototype;
if(L === R) {
// A的内部属性 __proto__ 指向 B 的原型对象
return true;
}
return false;
}
3.constructor
- null 和 undefined 是⽆效的对象,因此是不会有 constructor 存在的,这两种类型的数据需要通过其他⽅式来判断。
‘’.constructor === ‘String’
New Number(1).constructor === ‘Number’
New Function().constructor === ‘function’
4.toString
Object的原型⽅法,返回当前对象的[[Class]]
Object.prototype.toString.call(‘’) // [[Object String]]
Object.prototype.toString.call(new Error()) ; // [object Error]
Object.prototype.toString.call(document) ; // [object HTMLDocument]
Object.prototype.toString.call(window) ; //[object global] window 是全局对象 global 的引⽤
边栏推荐
猜你喜欢
Merkle tree
[self] - brush questions logic
A new generation of ultra safe cellular battery, Sihao aipao, will be available from 139900 yuan
刨根问底学 二叉树
Fundamental inquiry binary tree
2022 welder (Junior) work license questions and answers
How to add the index of a set in mongodb to another set in mongodb
Plato Farm有望通过Elephant Swap,进一步向外拓展生态
GhostNets on Heterogeneous Devices via Cheap Operations
PowerCLi VMware vCenter 通过自建的PXE Server一键批量部署常规New-VM
随机推荐
SQL left connection, internal connection writing method "recommended collection"
fastdfs工作原理(技术原理)
EN 12101-8:2011烟雾和热量控制系统防烟挡板—CE认证
What is utxo?
2022 R2 mobile pressure vessel filling test question simulation test platform operation
添加构建依赖项报错
连接池-归还连接详解(下)
Codeforces Round #474 (Div. 1 + Div. 2) - C, F
Compatibility description between kingbasees and Oracle (3. Common functions)
机器学习问题笔记
【自】-刷题-峰值
Pagoda phpMyAdmin unauthorized access vulnerability
【详细超简单】如何使用WebSocket链接
PHP 海报二维码合成
Best practices for migration of kingbasees v8.3 to v8.6 of Jincang database (3. Kingbasees migration capability support system)
pycharm新建项目
PowerCLi VMware vCenter 通过自建的PXE Server一键批量部署常规New-VM
阻塞式队列
Compatibility description between kingbasees and Oracle (5. Pl/sql)
Hyperparametric optimization (grid search and Bayesian Optimization)