js中的数据类型,类型判断,类型转换,一篇文章全面罗列解析

数据类型


基本数据类型

1 具体细分为七种:number,string,boolean,undefind, null, Symbol, Bigint

其中BigInt和Symbol是es6之后才有的原始数据类型,其中BigInt的使用方法就是在整数后面加字母n,例如`let n = 1212111111111n

Number :表示整数和浮点数

String :用于表示文本,字符串

Boolean :表示逻辑,共有两个值true或者false

Null :表示为一个刻意设置为空的对象,表示没有任何值

Undefined :表示变量已经被声明,但未被初始化

BigInt(es10新增) :用来存储大于 2^53 - 1(即 Number.MAX_SAFE_INTEGER)的整数,用于表示任意大小的安全整数。

Symbol(es6新增) :一种唯一且不可变的数据类型,常用于对象的键名以避免属性名的冲突。

这时候肯定有小伙伴会说:"不是还有NAN这种类型吗",但实际上NAN(Not a Number)也属于Number,尽管它代表非数字。

原始数据类型的特点是: 基本数据类型一旦被创建,其值就不能被修改,对他们进行操作时修改值其实并不是修改它的值,底层而是创建一个新的数据进行操作后再返回

null 和 undefind区别:

·undefined 表示没有赋值

·null表示赋值了,但是内容为空

应用场景: 如果一个变量里面确定存放的是对象,如果还没准备好对象,可以放一个null

引用类型:

①对象(Object) :最通用的引用类型,可以用来存储键值对的一个集合,可以包含值或者函数。
②数组(Array) :特殊类型的对象,用于存储有序的数据集合,数组的元素可以是任意类型的数据。
③函数(Function) :也属于对象,可以被赋值给变量,或者作为其他对象的属性,也可以被被调用来执行特定任务。

除了以上三种还有一些特殊或派生的引用类型如日期(Date)、正则(RegExp)等...

判断数据类型:

1. 对于基本数据类型:typeof:

1. 可以准确的判断除了 null 以外的所有原始类型 2. 用 typeof 判断引用类型,只有 function 能判断成功 typeof会通过将值转换为二进制来判断类型,对于二进制数据前三位是 0 的统一识别为对象,所有的引用类型转为二进制前三位都是 0,而 null 转为二进制全是 0

直接将变量的值放在typeof 之后或者加上一个括号就能够返回一个布尔值。使用如下:

typeof arr | or | typeof (arr)

2. 对于引用数据类型 -->instanceof

instanceof 的使用方法:要判断的数据 instanceof 原型 例如:arr instanceof Array

直白点来说就是看左边的是否隶属于右边

3. 对于任何类型的--->Object.prototype.toString()

区分slice 与splice语法:

splice

arr.splice(2,1) //splice方法 从下标2的位置 切割一个 输出[ 'a', 'b', 'd' ]

slice

arr.slice(0,3) // slice方法 默认 左闭右开 ,只截取[0,3)

6,-1) 输出wor

>数据类型转换

为何呢要进行数据转换?

JaveScript 是弱数据类型: JaveScript 也不知道变量到底属于哪种数据类型,只有赋值了才清楚。

📌坑坑坑:使用表单、prompt获取过来的数据默认是字符串类型,此时就不能直接简单的进行加减法运算了。

隐式转换

某些运算符被执行时,系统内部将数据类型进行转换

规则:

➡ +号两边只要有一个说字符串,都会把另外一个转成字符串

➡ 其他运算符号 -*/等都会把数据转化成数字类型

小技巧: +号作为正号解析可以转换成数字型

任何数字和字符串相加都是字符串

显示转换

编写程序时过度依赖系统内部的隐士转换是不严谨的,因为隐士转换并不清晰,大多数是靠经验总结规律。 为了避免因隐式转换带来的问题,通常根据逻辑需要对数据进行显示转换。

直白点就是 自己写代码告诉系统该转换成什么类型

转换成数字型

👉 Number (数据)

1· 转成数字类型

2· 如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字

3· NaN也是number类型的数据,代表非数字

👉 parselnt(数据)//int整数

只保留整数

👉 parseFloat(数据)//float浮点数 小数

可以保留小数

数据类型转换主要分为四类:

①基本数据类型转基本数据类型

②引用数据类型转基本数据类型

③基本数据类型转引用数据类型

④一些隐式类型转换..

基本数据类型转基本数据类型

可以直接使用显示转换,用原始数据类型的构造方法中传参数,就能将数据类型成功转换。

基本数据类型互转的基本规则如下图,这张图基本上涵盖了所有的特殊情况

小结

文章只是用来帮助巩固落实小小的模块知识的 ,相信这只是起点! js中的数据类型,以及对数据的相关操作是学习js中很重要的一环,数据类型的准确处理是编写高质量代码的关键。typeof、instanceof、Object.prototype.toString.call() 适时地利用等工具进行类型判断,结合显式与隐式的类型转换技巧,能够确保你的程序既健壮又易于维护。

相关推荐
donecoding3 分钟前
告别 scrollIntoView 的“越级滚动”:一行代码解决横向滚动问题
前端·javascript
0__O3 分钟前
如何在 monaco 中实现自定义语言的高亮
前端·javascript·编程语言
呆头鸭L6 分钟前
快速上手Electron
前端·javascript·electron
helloworld也报错?12 分钟前
保存网页为PDF
前端·javascript·pdf
渡我白衣12 分钟前
计算机组成原理(13):多路选择器与三态门
开发语言·javascript·ecmascript·数字电路·计算机组成原理·三态门·多路选择器
汐泽学园14 分钟前
基于Vue的家乡旅游美食信息网站设计与实现
javascript·vue.js·html·旅游·美食
_pengliang28 分钟前
react native ios 2个modal第二个不显示
javascript·react native·react.js
纳兰瑞雪29 分钟前
nodeJs electron程式开发demo
开发语言·前端·javascript
爱上妖精的尾巴1 小时前
7-8 WPS JS宏 对象使用实例5--按多字段做多种汇总
javascript·后端·restful·wps·jsa
白粥1 小时前
【HTML】文本格式化
前端·javascript·html