JavaScript数据类型

JS分两种数据类型:

基本数据类型:Number、String、Boolean、Null、 Undefined、Symbol(ES6)

引用数据类型:function,object,Date,Array,RegExp

数据类型树状图

查看数据类型

typeof
   typeof对于一些类型的处理只返回了处于其原型链最顶端的object类型。
   引用类型除了function返回function类型之外,其他都返回object。
    NaN的数据类型是number
    数组(Array)和日期Date的数据类型是object
   不能检测出null,检测null的数据类型是object

toString
     toString是Object的原型方法,调用该方法,返回当前对象的[[class]]。对于Object对象,直接调用toString()就可以返回,对于其他类型需要通过call()/apply()来调用才能返回正确的类型信息。
    使用:
  Object.prototype.toString.call(‘’ '); //[[Object String]]

constructor
     无法判断null和undefined
     原型prototype的一个属性,函数被定义的时候,js引擎会为函数添加原型prototype,并且这个prototype种constructor属性指向函数应用。
     使用:

var f = new F();
f.constructor === F;// true

instanceof 
   用来判断A是否为B的实例,A instanceof B,如果A是B的实例,返回true否则返回false。instanceof检测的是原型。

总结

typeof可以准确地判断出基本类型,但是对于引用类型除function之外返回的都是object;

已知是引用类型的情况可以选用instanceof或constructor方法进行具体类型的判断:

instanceof是基于原型链的;

constructor 属性易变,不可信赖,为了规范,在重写对象原型时一般都需要重新给constructor赋值,以保证实例对象的类型不被改写;

Object.prototype.toString.call() 通用但很繁琐。

js数据类型转换

1.转换成字符串

String() 能够把数字转换为字符串。

String(x)         // 从数值变量 x 返回字符串
String(123)       // 从数值文本 123 返回字符串
String(100 + 23)  // 从表达式中的数值返回字符串

布尔方法 toString() 同理。

false.toString()     // 返回 "false"
true.toString()      // 返回 "true"

2.把日期转换为字符串

String(Date())      "demo1">// 返回 "Sun Aug 14 2022 17:30:40 GMT+0800 (中国标准时间)"

3.把字符串转换为数值

Number("3.14")    // 返回 3.14
Number(" ")       // 返回 0
Number("")        // 返回 0
Number("99 88")   // 返回 NaN

4. + 运算符可用于把变量转换为数字

var y = "5";      // y 是字符串
var x = + y;      // x 是数字

5.把布尔转换数值

Number(false)     // 返回 0
Number(true)      // 返回 1

6.把日期转换为数字

d = new Date();
Number(d)          "demo3">// 返回 1660469440577

7.把日期转换为数字

d = new Date();
Number(d)          "demo3">// 返回 1660469440577

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值