string类型
其他类型转换为string类型
- String([value])
- [value].toString()
两种方法基本一致,没啥区别~
基本数据类型转换为字符串类型,均得到相应的字符串
特殊情况:
① 普通对象->string:"[object Object]"
② 数组对象->string:“第一项,第二项,……”
字符串拼接
JS中常用的数学运算:+ - * / %……,除+外,其余均为数学运算(若参与数学运算的元素为非数字,则通过Number()转换为数字类型)。
+:数学加运算/字符串拼接(只要➕两侧任意一边出现字符串即进行字符串拼接)
举例:
以上三个例子中,+两侧均非字符串类型,得到的结果却是字符串拼接结果,为啥嘞?
遇到+运算符时,首先判断两侧有没有字符串类型值,若有则进行字符串拼接;若无则默认进行加法运算。在进行加法运算时,需保证+两侧均为number类型值,若不符合要求则先进行Number()转换,在转换过程中倘若遇到了字符串类型,二话不说直接拼接!于是……
(不想看以上文字的请看下面流程图)
boolean类型
其他类型转换为boolean类型
- Boolean()方法
- ![value]: 先转换为boolean类型,再取反
- !![value]: 仅转换为boolean类型
规则:
- 0 / NaN / null / undefined / 空字符串——>false
- 其余——>true
其他隐式转换为boolean的方式:
- 条件判断 if(……)
- == or ===比较