目录
什么是数据类型转换?
数据类型转换是指将一个数据类型的值转换为另一个数据类型的值。在 JavaScript 中,数据类型转换非常常见,因为 JavaScript 是一种弱类型语言,变量的数据类型可以在运行时自动转换。
JavaScript 中的数据类型转换可以分为两种类型:强制类型转换和隐式类型转换。
数据类型转换是非常重要的,因为不同的数据类型在计算时会产生不同的结果。理解数据类型转换的规则和机制能够帮助程序员编写更健壮的代码。
示例:
假设有一位用户从输入框中输入了一组数据,你接收到的是什么类型的数据?
答:字符串类型
如果用户输入了两组数据,那么两组数据加起来?
console.log('123456'+'789'),字串类型数据相加了(拼接),结果为'123456789'
用户想要的是将这两串数据相加,但是我们接受到的是字符串类型。
由此可以看出数据类型转换的重要性。
隐式转换
隐式转换是指在表达式中将一种数据类型自动转换为另一种数据类型的过程。
示例:
console.log(1 + '1')
输出结果为:11
+号两边只要有一边是字符,另外一边自动转换成字符型,注意:除了+以外其他的算数运算符会将数据转换成数字类型
示例:
console.log(1 - '1')
输出结果为:0
小补充:+号可以将数据转换成数字型
console.log(+1)
输出结果为:1
隐式转换的缺点就是需要开发者有经验,不然会让人不明确转换的数据类型。
显式转换(强制转换)
显式转换(也称为强制转换)是一种将一个数据类型转换为另一个数据类型的方法。
1.转换为数字型
Number(数据)
示例:
let name = '123456'
console.log(name)
console.log(Number(name))
结果可以看到,控制台黑色字体为字符串类型,蓝色字体为数字类型,这里转换成功了。
误区:不是任何数据都可以进行转换
示例:
let name = 'Jisu'
console.log(name)
console.log(Number(name))
显示计算错误,因为你的name不是一个数字类型,我们尽量选择将字符串为数字的数据进行转换。
拓展:
let a = '3.14'
//保留整数
console.log(parseInt(a))
//保留小数
console.log(parseFloat(a))
注意:使用parseInt,parseFloat都会将数据转换为数字型。如果数据为'3px',会直接将px忽略,只保留3,parseFloat不会四舍五入,会直接保留3。
案例1:用户输入两个数,求和并输出到页面
let num1 = +prompt('输入第一个数')
let num2 = +prompt('输入第二个数')
document.write(num1 + num2)
2.转换为字符型
string()所有类型都能转换成字符串
let a = 100
let b = String(a)
console.log(typeof b, b)
toString() null undfined不能转换
let a = 100
let b = a.toString()
console.log(typeof b, b);
+运算符
let a = 100
let b = a + "111"
console.log(typeof b, b)
</script>
3.转换为布尔
Boolean()除了'' 0 null undefined nan 都是false 其余的都是true
var a = "Jisu"
var b = Boolean(a);
console.log(typeof b, b)