JS里的类型

2018-01-01  本文已影响0人  鹧鸪少

JS里的类型

类型转换
转字符串string

上图中可以看到,使用toString()方法把数据类型转换字符串,只有number boolean 可以转换成功,而nullundefined 则返回了一条Cannot read property 'toString' of null ,说明nullundefined无法使用toString()转换字符串,那么只能使用其它方法。

图中可以看到,不管是哪一种类型,即使是用toString()转换失败的nullundefined,只要用+ '''' +,都可以把所有的类型都转换成字符串。+号的作用是:如果发现左右任意一边有字符串,它就会自动把另一边也变成字符串。
其实这种方法还有一种经常我们会碰见的奇怪现象,如图中最后几行:
在运行1+1的时候,运行结果等于2,而运行1+'1'的时候,结果为"11",其实1+'1'等价于(1).toString()+'1',运行出来的结果即为''11''。

这三种方法都是可以使用的,但是我比较推荐用第二种,方便很多。

转boolean(记住五个falsy值)

-方法2,推荐用法,直接用!!转换,如图


在js里面,其它的值转换成布尔的时候,有五个特殊的值需要记住的,分别为:

0=false
NaN=false

number除了这两个值为false外,其余均为true

' ' =false

' ' 为空字符串

null=false

null本身就为false

undefined=false

undefined本身就为false

0 NaN '' null undefined 这五个值均为falsy值(关于falsy可以查阅MDN文档了解),除了这五个值以外,其余的值转成boolean都为true.
还有一个object类型,这个类型的boolean值全部都是true,包括array和function,都为true.

转number
上一篇 下一篇

猜你喜欢

热点阅读