JavaScript 数据类型判断方法

基本数据类型

简单的数据类型:Number、String、Boolean、Null、Undefined、Symbol (new in ECMAScript 2015)、BigInt (new in ECMAScript 2020)

复杂的数据类型:Arry、Object、Function

判断方法

注意:需要确定某种数据类型均不建议使用 ‘==’,建议使用’ ===’。
以下打印结果都为真

	// Number类型
	var num = 12;
	console.log(typeof num === 'number');
	// console.log(num instanceof Number);//不能判断
	//String类型
	var str = "fgbb";
	console.log(typeof str === 'string');
	// console.log(str instanceof String);//不能判断
	//Boolean类型
	var tag = true;
	console.log(typeof tag === 'boolean');
	//Null
	var nu = null;
	console.log(typeof nu === 'object');
	//Undefined
	var un;
	console.log(typeof un === 'undefined');
	//Symbol
	//Symbol 函数栈不能用 new 命令,因为 Symbol 是原始数据类型,不是对象。可以接受一个字符串作为参数,为新创建的 Symbol 提供描述,用来显示在控制台或者作为字符串的时候使用,便于区分。
	var sym = Symbol("sym");
	sym = "any"
	console.log(typeof sym === 'symbol');
	//BigInt
	var big = 12345n;
	console.log(typeof big === 'bigint');

	// Arry
	var arr = [1,2,3,4,5,6];
	// Object
	var obj = {
            name: "Bob",
            age: 18
 	       }
	// Function
	function fn(){}
	// instanceof
	console.log(obj instanceof Object);
	console.log(arr instanceof Array);
	// __proto__
	console.log(arr.__proto__  === Array.prototype);
	console.log(obj.__proto__  === Object.prototype);
	console.log(fn.__proto__  === Function.prototype);
	console.log(Array.prototype.isPrototypeOf(arr));
	console.log(Object.prototype.isPrototypeOf(obj));
	console.log(Function.prototype.isPrototypeOf(fn));
	console.log(Object.getPrototypeOf(arr) === Array.prototype);  
	console.log(Object.getPrototypeOf(obj) === Object.prototype);  
	// console.log(Function.getPrototypeOf(fn) === Function.prototype);//不能判断是否为一个函数  
	// constructor
	console.log(arr.constructor === Array);
	console.log(obj.constructor === Object);
	console.log(fn.constructor === Function);
	// es6新增的判断数组的方法
	console.log(Array.isArray(arr)); 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值