**JS数据类型转换**
一. 数据类型转换
javascript中,变量可以赋予任何类型的值。但是运算符对数据类型是有要求的,如果运算符的类型与预期不符,就会自动转换类型。数据类型除了可以自动转换以外,还可以手动强制转换。
1. 转为字符串(string)
toString()方法:可将其他类型转为字符串类型,但对null和undefined不适用![在这里插入图片描述](https://img-blog.csdnimg.cn/20200322214955889.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MjYxMzQ3,size_16,color_FFFFFF,t_70)
当某些场合只能用字符串类型时,系统会自动调用toString()将非字符串的内容转为字符串
2.转字符串其他方法
其他类型+"" 或""+其他类型:其他类型与一个空字符串相加,此方法对null和undefined也适用
console.log(1+""); //输出"1"
console.log(true+""); //输出"true"
var obj = {name: "zhangsan"};
console.log(obj + ""); //输出"[object object]"
console.log(null + ""); //输出"null"
console.log(undefined + "") //输出"undefined"
不同类型相加
因为+只能用于相同类型相加,遇到不同类型将会改变其中一个类型
console.log(1 + 1) //输出2
console.log(1 + "1") //输出"11"
3. 转字符串全局方法
String(函数): 可将任意类型的值转为字符串,对null和undefined也适用
console.log(String(1)) //输出"1"
console.log(String(true)) //输出"true"
console.log({}) //输出"[object object]"
console.log(String(null)) //输出"null"
console.log(String(undefined)) //输出"undefined"