JS变量类型-双等于和三等于判断

JS中的变量类型可以分为两类:值类型引用类型

  • String Boolean Number Null Undefined(值类型)
  • Function Array Object (引用类型)

可以使用typeof 对他们进行简单的区分,但是Null Array Object 例外,这三个变量类型使用typeof输出后的值均为Object:

let a = []
console.log(typeof a)//输出: object(Null 和 Object同理)

为了进一步区分这三个变量类型,可以使用 instanceof:

let a = []
console.log(a instanceof Array) //输出:true

NaN

值得一提的是 在检测NaN的时候 使用typeof输出的结果为number,使用instanceof Number 输出的结果为false , 所以检测NaN时 使用isNaN()来进行检测:
在这里插入图片描述
输出结果如下:
在这里插入图片描述

存储

两种类型的数据在存储上也有一定的不同: 值类型的数据存储在栈内存当中,而引用类型的数据存储在堆内存当中,这也就带了另外一个常见的关于深拷贝以及浅拷贝问题。(在另一篇博客中专门提到)

“ == ” 和 “ === ”

在js中关于双等于和三等于的一些简单认识,双等于号判断符使用时,会检查两个操作数的操作类型,如果操作类型相同则进行数值的判断,如果不同则转换一次数据类型在进行比较,而三等判断符则也进行数据类型的判断,数据类型不同返回false

在双等号中需要注意的是:
如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。尝试valueOf先于toString;但是Date不太一样,Date利用的是toString转换。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值