上一篇文章(JS里的数据类型)介绍了js中的数据类型。这篇主要介绍数据类型转换。
一、任意类型转字符串
转换成string类型有三种方法:
1⃣️String(x) (推荐)
这是window下的全局方法,number、boolean、undefined、null都可以使用这个方法转字符串
object类型用这个方法,得到的是[object Object]而不是obj的内容

2⃣️x.toString() (不推荐)
平时这个更常用,但这个用起来不是很方便的
null和undefined类型用toString方法会报错
object类型用这个方法,需要加(),得到的是[object Object]而不是obj的内容

3⃣️x+'' (推荐)
与空字符串相加,这个可以使用的范围更广
number、boolean、undefined、null都可以
object类型用这个方法,得到的是[object Object]而不是obj的内容

二、任意类型转数字
1⃣️Number(x)
2⃣️parseInt(x, 10) MDN
这个是比较常用的将字符串转换为整数的方法,第一个参数是要转换的值,第二个是进制,10进制,8进制等。
遇到转换不成数字的会返回NaN

3⃣️parseFloat(x) MDN
转换成浮点数
4⃣️x - 0(推荐)
减0的方法,既可以转换int,也可以转换float类型。

5⃣️+x
三、任意类型转布尔
有两个方法:1、Boolean(x)2、!!x
1⃣️Boolean(x)
是window下的全局方法

2⃣️!!x

3⃣️falsy值 (falsy mdn)
有那些值可以转换成false呢
falsy(虚值)是在 Boolean 上下文中已认定可转换为‘假‘的值.
JavaScript 在需要用到布尔类型值的上下文中使用强制类型转换(Type Conversion )将值转换为布尔值,比如:在条件语句或者循环语句中
falsy值有:
boolean中的false
number中的0和NaN
null
undefined
字符串中的空字符串''或""
document.all

网友评论