【JavaScript】:有关 js 类型转换的那些事...
前言
大家好,我是翼同学。今天笔记的内容是:
简单类型转换
内容
JavaScript 的类型转换灵活多样,无论是隐式类型转换还是显示类型转换,方法都有很多。具体请往下看:
数字转换为字符串
在 JavaScript 中,如果某处期望使用数字,则会将字符串转换为数字。
举个例子:
可以看到,在上述例子中,当数字和字符串用加号+
相连时,数字会自动转换为字符串。因此我们说,n + ""
的效果等价于使用String(n)
函数。
另外,为了提高代码可读性,我们也可以显示转换类型。比如使用和String()
函数,或者toString()
方法。值得一提的是,toString()
方法可以可以添加参数radix
,用于表示转换基数(进制数),并且radix
参数的范围在2
~36
之间。
举个例子:
最后,再记录两个数字转换为字符串的方法:
toExponential(n)
:使用指数计数法,此时小数点前只有一位,小数点后有几位由参数 n 决定
举个例子:
toFixed(n)
:控制输出数值小数点后的位数,由参数 n 决定
举个例子:
可以看到,上述的两个方法在使用中,会适当进行补 0 或者四舍五入。
字符串转换为数字
同样的,如果 JavaScript 期望使用数字,则会将给定的字符串转换为数字。
举个例子:
当然,如果转换的结果没有意义,则返回NaN
。
举个例子:
另外,在显示类型转换中,除了使用Number()
函数外,也可以使用这两个全局函数parseInt()
和parseFloat()
。此时需要注意的是,前者只解析整数,可接受第二个参数用于表示转换的基数(该参数的范围也是2
~36
),后者整数和浮点数都可解析,并且,如果传入的字符串中,第一个非空字符属于非法的数字直接量,则函数返回NaN
。
举一些例子:
转换为布尔值
在 JavaScript 中,会根据需求自行转换为布尔值。比如将一些真值转换为 true,将一些假值转换为 false。举例:能转换为false
的有空字符串""
,关键字null
和undefined
,数字0
(和-0
)。
对于显示类型转换,则可以使用函数Boolean()
。需要注意的是,如果将对象(包括函数或数组)转换为布尔值,则结果一律为true
。即使我们调用new Boolean(false)
,该对象最后也是为true
写在最后
好了,今天的笔记就记到这里。
版权声明: 本文为 InfoQ 作者【翼同学】的原创文章。
原文链接:【http://xie.infoq.cn/article/566246dba7b1696f919e84f4c】。文章转载请联系作者。
评论