解释:用单引号,双引号,反引号(撇,ES6模板字符串)包起来的都是字符串。
1. 把其他类型值转换为字符串
①. [val].toString()——只能用于基本数据类型里的 number 和 boolean
一般来说,加toString()的结果就是直接在所转换的对象外边加双引号。
但是也有特殊形况:
null 和 undefined 不可以直接 toString(),也就是 (null).toString() 会报错。
toString()只能作用在变量身上,不能作用在常量上。
②. String('xxx')
基本数据类型的常量都可以被转换为字符串类型。
undefiend与null可以通过String()转换称为字符串。
③. 字符串拼接(隐式转换)
该方法实际上和方法二一样,都是调用的string()函数,所以都能进行转换。
普通对象转字符串类型,并不是直接加 " ",而是
2. 举个栗子
let str = 10+null+true+[]+undefined+'你好'+null+[]+10+false;
console.log(str);
输出的结果是
"11undefined你好null10false"
(转换的步骤:数字的话就是加法,但是一旦碰见字符串,就会是字符串拼接
10+null ==》10
10+true==》11
11+[] ==》"11"——空数组变成数字,要先经历变空字符串,但是遇到字符串就会成为字符串拼接,
"11"+undefined==》"11undefined"
"11undefined"+'你好'==》"11undefined你好"
"11undefined你好"+null==》"11undefined你好"
剩下的都类似,遇见什么,拼接什么就可以了。
)