JavaScript判断数据类型的几种方法

本文介绍了JavaScript中的基本数据类型和引用数据类型,包括String、Number、Boolean等,并详细讲解了typeof、instanceof、===及Object.prototype.toString.call()四种数据类型判断方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript中常见的数据类型

基本数据类型:String、Number、Boolean、undefined、Null
引用数据类型:Obejct、Array、Function
判断的方法有

	 1.typeof:可用于判断String、Boolean、Number、Function、undefined。
			   不能判断:Null、Object、Array。
	 2.instanceof:用于判断引用数据类型的具体类型。
	 3.===:	   可用于判断null和undefined。
	 4.Object.prototype.toString.call():用于判断所有的数据类型

typeof

	let s = 55;
    console.log(typeof s);//number

    let str = "dmjn"
    console.log(typeof str);//string

    let und = undefined;
    console.log(typeof und);//undefined

    function fn() {
        console.log("ajj");
    }
    console.log(typeof fn);//function

	 //不能判断null、Object、Array:
    let a = null;
    let b = [1, 2, 3];
    let obj = { name: "Tom" };
    console.log(typeof null);//输出 object
    console.log(typeof obj);//输出 object
    console.log(typeof b);//输出 object

instanceof

{
    let obj = { name: "Tom" };
    let arr = [1, 2, 3];
    function fn() {
        console.log("哈哈");
    }
    //A instanceof B,是判断A是不是B的实例,返回值是true和false
    console.log(obj instanceof Object);//返回 true
    console.log(arr instanceof Array);//返回 true
    console.log(fn instanceof Function);//返回 true
}

===:可用于判断undefined、null的数据类型判断。

{
    let a;
    let b = null;
    console.log(a === undefined);//输出 true
    console.log(b===null);//输出 true
}

Object.prototype.toString.call():

{
    let a = 15;
    let b = "abc";
    let c = true;
    let d = undefined;
    let e=null
    let arr = [1, 2, 3];
    let obj = { name: "Tom" };
    function fn() {
        console.log("我是函数");
    }

    console.log(Object.prototype.toString.call(a));//输出 [object Number]
    console.log(Object.prototype.toString.call(b));//输出 [object String]
    console.log(Object.prototype.toString.call(c));//输出 [object Boolean]
    console.log(Object.prototype.toString.call(d));//输出 [object Undefined]
    console.log(Object.prototype.toString.call(e));//输出 [object Null]
    console.log(Object.prototype.toString.call(arr));//输出 [object Array]
    console.log(Object.prototype.toString.call(obj));//输出 [object Obejct]
    console.log(Object.prototype.toString.call(fn));//输出 [object Function]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有昵称...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值