在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型。五种基本数据类型分别是:Number 数值类型、String 字符串类型、Boolean 布尔类型, null 空类型、以及undefined 未定义类型,下面就开始详细介绍它们之间的转换以及转换过程中的注意点。
1、基本数据类型转换为数值类型
1.1、在JavaScript中将其它基本四种基本数据类型装换为数值类型,有三种常用的方法:
1.1.1、通过Number(常量/变量)
1.1.2、通过parseInt(需要转换的字符串)/parseFloat(需要转换的字符串)
1.1.2.1、parseInt/parseFloat都会从左至右的提取数值, 一旦遇到非数值就会立即停止,
停止的时候如何还没有提取到数值, 那么就返回NaN
1.1.3、通过 ’+’ / ’-’ 来转换
1.1.3.1、虽然通过+/-都可以将其它类型转换为数值类型, 但是-会改变数值的正负性;
1.1.3.2、+/-底层本质上就是调用了Number函数
1.2、将其它基本四种基本数据类型装换为数值类型的注意点:
1.2.1、将字符串类型转换为数值类型
1.2.1.1、如果字符串都是数值,那么就正常转换
1.2.1.2、如果字符串是一个空串,例如 ”” (什么都没有存)或者是 ” ” ( 仅仅存储了空格),那么转换之后就是0
1.2.1.3、如果字符串中既包含数字还包含字母,例如 ”abc123”,那么转换之后就是NaN
1.2.2、将布尔类型转换为数值类型
1.2.2.1、true转换为1
1.2.2.2、false转换为0
1.2.3、将空类型转换为数值类型
1.2.3.1、null转换为0
1.2.4、将未定义类型转换为数值类型
1.2.4.1、undefined转换为NaN
2、基本数据类型转换为字符串类型
2.1、在JavaScript中将其它基本四种基本数据类型装换为字符串类型,有三种常用的方法
2.1.1、对于数值类型和布尔类型来说,可以通过变量名称.toString()的方式来转换
2.1.2、可以通过String(常量/变量);
2.1.3、还可以通过 变量/常量 + ""/’’ 来转换为字符串
2.2、将其它基本四种基本数据类型装换为字符串类型的注意点:
2.2.1、通过变量名称.toString()的方式来转换是对拷贝的数据进行转换, 并不会影响到原有的数据
2.2.2、不能使用常量直接调用toString方法, 因为常量是不能改变的
2.2.3、String(常量or变量), 由于是根据传入的值重新生成一个新的值, 并不是修改原有的值
2.2.4、将undefined未定义类型通过String()的方式转换为字符串类型,转换之后还是undefined
2.2.5、将null空类型通过String()的方式转换为字符串类型,转换之后还是null
2.2.6、通过 变量/常量 + ""/’’ 来转换为字符串,底层的本质其实就是调用String()函数
3、基本数据类型转换为布尔类型
3.1、在JavaScript中如果想将基本数据类型转换为布尔类型, 那么只需要调用Boolean(常量or变量)
3.2、将其它基本四种基本数据类型装换为字符串类型的注意点:
3.2.1、将字符串类型转换为布尔类型只要字符串中有内容都会转换为true, 只有字符串中没有内容才会转换为false
3.2.2、将数值类型转换为布尔类型只有数值是0才会转换为false, 其它的都会转换为true如果是NaN也会转换为false
3.2.3、将undefined类型转换为布尔类型undefined会转换为false
2.2.4、将null类型转换为布尔类型会转换为false
2.2.5、在JavaScript中NaN属于Number类型
2.2.6、空字符串/0/NaN/undefined/null 会转换成false, 其它的都是true
4、小结
JavaScript与其它的编程语言的数据类型之间的转换类似,虽然它不像C语言那样将数据类型分的那么清楚,例如JavaScript中的数值类型就包含了C中的整型、单精度/双精度浮点型等等。但是,在JavaScript中,不同数据类型之间的转换和C语言中不同数据类型之间的转换还是类似的,转换类型都分为两种,一种是自动转换,另一种是强制转换,只不过JavaScript中新增了一些转换的方法。
这也是我第一次写博客,写的不好的地方还请多多包涵,有错误的地方还请指正。