JavaScript中的数据类型以及判断方法

1、JavaScript有哪些?

分别是Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。

其中Symbol和Bigint是ES6中新增的数据类型。

原始数据类型:Undefined、Null、Boolean、Number、String

引用数据类型:对象、数组、函数

2、检测数据类型的方法有哪些?

2.1 typeof

console.log(typeof 2);               // number
console.log(typeof true);            // boolean
console.log(typeof 'str');           // string
console.log(typeof []);              // object  
console.log(typeof function(){});    // function
console.log(typeof {});              // object
console.log(typeof undefined);       // undefined
console.log(typeof null);            // object

注意:在使用typeof判断数据类型时,会将null,数组和对象判断为object类型。

2.2 instanceof

console.log(2 instanceof Number)                //false
console.log('str' instanceof String)            //false
console.log(function(){} instanceof Function)   //true

注意:instanceof方法,只能正确判断引用类型数据,内部机制是判断在其原型链中是否能找到该类型的原型。

2.3 constructor

console.log((2).constructor === Number)       //true
console.log(('str').constructor === String)   //true   
console.log(({}).constructor === Object)      //true

注意:如果创建一个对象来改变它的原型,constructor就不能用来判断数据类型了

function Fn(){}
Fn.prototype = new Array()
var f =new Fn()
console.log(f.constructor === Fn)   //false
console.log(f.constructor === Array)   //true

2.4 Object.prototype.toString.call()

var aaa=Object.prototype.toString       
console.log(aaa.call(1))        //object Number    
console.log(aaa.call('str'))    //object String        
console.log(aaa.call(null))     //object Null

2.5 jQuery方法: jquery.type()

console.log(jQuery.type(undefined) === "undefined")    //true
console.log(jQuery.type(123) === "number")             //true

注意:据说是一个万能的方法,但是在使用的时候要引入jquery文件没不然会报错JQuery is not defined。

2.6  ===

 var num=null
 console.log(num === null)

大部分用来判断是否为空的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值