javascript中的数据类型及监测类型的方法

📋 个人简介

  • 💖 作者简介:大家好,我是小娜😜
  • 📝 个人主页:呐納蒳🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:web开发🍁
  • 💬格言:迄今所有人生都大写着失败,但不妨碍我继续向前!🔥

    🍒前言:

今天介绍一下JavaScript的数据类型以及监测数据类型的方法,大家一起成长,如有补充,十分欢迎。

🍊js中的基本数据类型:

  • 简单数据类型

     String (字符型)     Number(数字型)     Boolean (布尔型)     空(Null)、未定义(Undefined)     还有Es6新添加的   

Symbol(表示独一无二的值)、BigInt(任意精度整数)

  • 引用数据类型 

对象(Object)、数组(Array)、函数(Function)。(Array、function也属于对象)

🍊js中检测数据类型的方法:

  • typeof 检测一些基本的数据类型

语法:typeof 后面加不加括号都是可以用的
注意:正则、{}、[]、null输出结果为object

缺点:只能检测基本的数据类型

console.log(typeof (1));
console.log(typeof '1');
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);
console.log(typeof []);
console.log(typeof {});
console.log(typeof Array);
console.log(typeof Object);
console.log(typeof Symbol);
console.log(typeof BigInt);

  •  A  instanceof   B检测当前实例是否属于某各类

双目运算符 a instanceof b ,判断a的构造器是否为b,返回值为布尔值   

缺点:只能检测引用类型和构造函数创建的基本值

console.log(1 instanceof Number);
console.log('a' instanceof String);
console.log(true instanceof Boolean);
console.log([] instanceof Array);
console.log({} instanceof Object);
function b() {};
console.log(b instanceof Object);
let a = new b
console.log(a instanceof b);
console.log(undefined instanceof Undefined);
console.log(null instanceof Null);

  •  constructor构造函数

语法:实例.constructor
        对象的原型链下(构造函数的原型下)有一个属性,叫constructor
缺点:**constructor并不可靠,容易被修改(只有参考价值)。即使被修改了,也不会影响代码的正常运行。正常开发的时候,constructor不小心被修改了,为了方便维护,和开发,可以手动更正constructor的指向。

 
	function a() {}
	let a = new b;
	console.log(a.constructor.name);//a
	console.log(b.constructor);//Function(){}
	console.log(Function.constructor);//Function(){}

 

  •  Object.portotype.toString (最好的)

语法:Object.prototype.toString.call([value])
        获取Object.portotype上的toString方法,让方法的this变为需要检测的数据类型值,并且让这个方法执行

在Number、String、Boolean、Array、Function、RegExp…这些类的原型上都有一个toString方法:这个方法就是把本身的值转化为字符串

缺点:只能检测js的内置类  不能检测自定义类

Object.prototype.toString.call(12)//[boject Number]
 
	Object.prototype.toString.call(true)//[boject Boolean]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

呐納蒳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值