JS中的数据类型

引用类型与原始类型

原始类型(也叫基本数据类型)包括:

Number,String,Boolean,Null,Undefined、BigInt、Symbol;

引用类型(也叫复杂数据类型)包括:

所有的类

补充:

Symbol是ES6新出的一种数据类型,这种数据类型的特点就是没有重复的数据,可以作为object的key。
数据的创建方法Symbol(),因为它的构造函数不够完整,所以不能使用new Symbol()创建数据。由于Symbol()创建数据具有唯一性,所以 Symbol() !== Symbol(), 同时使用Symbol数据作为key不能使用for获取到这个key,需要使用Object.getOwnPropertySymbols(obj)获得这个obj对象中key类型是Symbol的key值。
BigInt也是ES6新出的一种数据类型,这种数据类型的特点就是数据涵盖的范围大,能够解决超出普通数据类型范围报错的问题。

使用方法:
-整数末尾直接+n:647326483767797n
-调用BigInt()构造函数:BigInt("647326483767797")

二者的区别

1.原始类型互相赋值后会在内存中分别存储,改变其中一个不会影响别的;引用类型相互赋值后,产生不同的引用,但引用都指向内存中同一原数据,一个改变另外的也会改变

2.原始类型的比较,比较的是对象的值是否相同;引用类型比较的是引用是否指向同一个对象;

3.函数传参时,原始类型传入的参数改变不会影响原本的变量;而在函数中对引用类型的操作,也会影响原本的变量

类型转换

bool类型的转换

1.数值型只有0和NaN会转成false;

2.null和undefined会转成false;

3.字符型,只有空字符串为false;

4.所有对象都是true,哪怕是{};

关于NaN

NaN意思是Not a Number

NaN属于数值型

NaN == NaN 输出false

逻辑与 逻辑或

a&&b 如果a转换后为true,则该表达式返回b(不做类型转换),如果a转换后为false,则返回a(不做类型转换)

a || b 如果a转换后为false,则该表达式返回b(不做类型转换),如果a转换后为true,则返回a(不做类型转换)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值