JS的数据类型

基本类型:string number null undefined boolean symbol(ES6) BigInt(ES10)

引用类型:Object String Number Boolean Array Function Date RegExp Error

怎么判断js数据类型:
1、typeof A
返回数据类型,包含这7种: string、number、boolean、object、undefined、symbol、function。
typeof null 返回object
引用类型,除了function返回function类型外,其他均返回object。

2、toString 这个是最完美的
对于 Object 对象,直接调用 toString() 就能返回 [object Object] 。而对于其他对象,则需要通过 call / apply 来调用才能返回正确的类型信息。

Object.prototype.toString.call('') ;   // [object String]<br/>
Object.prototype.toString.call(1) ;    // [object Number]<br/>
Object.prototype.toString.call(true) ; // [object Boolean]<br/>
Object.prototype.toString.call(Symbol()); //[object Symbol]<br/>
Object.prototype.toString.call(undefined) ; // [object Undefined]<br/>
Object.prototype.toString.call(null) ; // [object Null]<br/>
Object.prototype.toString.call(new Function()) ; // [object Function]<br/>
Object.prototype.toString.call(new Date()) ; // [object Date]<br/>
Object.prototype.toString.call([]) ; // [object Array]<br/>
Object.prototype.toString.call(new RegExp()) ; // [object RegExp]<br/>
Object.prototype.toString.call(new Error()) ; // [object Error]<br/>
Object.prototype.toString.call(document) ; // [object HTMLDocument]<br/>
Object.prototype.toString.call(window) ; //[object global] window 是全局对象 global 的引用<br/>

3、A instanceof B
只能用来判断两个对象是否属于实例关系,而不能判断一个对象实例具体属于哪种类型

笔记
JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。