String数据类型
所有用单引号 双引号 反引号(ES6模板字符串)包起来的
都是字符串
把其他类型值转换为字符串
- toString()
console.log((NaN).toString());
console.log((null).toString());//报错
console.log((undefined).toString());//报错
console.log([].toString());//''
console.log([12].toString());//'12'
console.log([12,13].toString())//'12,12'
null和undefined 不可以直接转换
null转哈为数字 0 undefined转换为NaN
JSON对象.tostring的结果不是 加双引号
- 字符串拼接
四则运算中,除了加法之外 其余都是数学计算 只有加法可能存在字符串拼接
一旦遇到字符串 那么不是数学运算 而是字符串拼接
console.log('11'-10);//只是减法 输出1
console.log('10'+10);//是加法 而且遇到字符串 是字符串拼接 输出1010
console.log('10px'+10);//浏览器内置 用Number转型 转为NaN NaN+数字 还是NaN
let a=10+null+true+[]+undefined+'zpc'+null+[]+10+false;
console.log(a);
/*
* 10+null 10+0 10
* 10+true 10+1 11
* 11+[] 11+'' '11'空数组变为数字 先要经历变为空字符串,遇到字符串 变为字符串拼接
* */