- 将Number类型转换为字符串类型
- 将Boolean类型转换为字符串类型
- 将Undefined类型转换为字符串类型
- 将Null转换为字符串类型
- 在JavaScript中如果想将以上四种基本数据类型转换为字符串类型, 常用的方法有三种
1. .toString()
- 对于Number类型和Boolean类型来说, 可以通过变量名称 .toString()的方式来转换
-
将Number类型转换为字符串类型
let value = 123; console.log(value); // 在谷歌浏览器的控制台中如果是Number类型是蓝色的 console.log(typeof value); // 以下代码的含义: 将value变量中存储的数据拷贝一份, 然后将拷贝的数据转换为字符串之后返回给str let str = value.toString(); console.log(str); // 在谷歌浏览器的控制台中如果是String类型是灰色的 console.log(typeof str);
-
注意点: 不能使用常量直接调用.toString()方法, 因为常量是不能改变的
- 注意点: 变量名称.toString()是对拷贝的数据进行转换, 所以不会影响到原有的数据
let value = 123; console.log(value); console.log(typeof value); let str = value.toString(); console.log(str); console.log(typeof str); // 不会影响到原有的数据 console.log(value); console.log(typeof value);
-
-
将Boolean类型转换为字符串类型
let value = true; console.log(value); console.log(typeof value); let str = value.toString(); console.log(str); console.log(typeof str);
-
.toString方法不能将Undefined类型转换为字符串类型
let value = undefined; let str = value.toString(); // 报错
-
.toString方法也不能将Null类型转换为字符串类型
let value2 = null; let str2 = value2.toString(); // 报错
2. String()
- 可以通过String(常量or变量);转换为字符串
- 特点: String()可以将Undefined类型和Null类型, 以及常量转换为字符串类型
String()会根据传入的数据重新生成一个新的字符串, 并不会影响原来的数据 -
将Number类型转换为字符串类型
let value = 123; console.log(value); console.log(typeof value); let str = String(value); console.log(str); console.log(typeof str);
- 注意点: 变量名称.toString()的方式括号里不能是常量, 因为常量是不能被改变的
String(常量or变量), 因为是根据传入的值重新生成了一个新的值, 并不是修改原来的值,
所以String()的括号里可以是常量let value = String(123); console.log(value); console.log(typeof value);
- 注意点: 变量名称.toString()的方式括号里不能是常量, 因为常量是不能被改变的
-
将Boolean类型转换为字符串类型
let value = true; console.log(value); console.log(typeof value); let str = String(value); console.log(str); console.log(typeof str);
-
将Undefined类型转换为字符串类型
let value = undefined; console.log(value); console.log(typeof value); // 以下代码的含义: 根据传入的数据重新生成一个新的字符串, 并不会影响原来的数据 let str = String(value); console.log(str); console.log(typeof str); // 原有的数据并没有被改变 console.log(value); console.log(typeof value);
-
将Null转换为字符串类型
let value = null; console.log(value); console.log(typeof value); let str = String(value); console.log(str); console.log(typeof str);
3. 变量or常量 + " " / 变量or常量 + ' '
- 特点: 任何数据和 +"" 连接到一起都会转换为字符串
内部实现原理和String()函数一样 -
将Number类型转换为字符串类型
let value = 123; // let str = value + ''; let str = value + ""; console.log(str); console.log(typeof str);
- +' ' / + " " 也可以将常量转换为字符串
let str = 123 + ''; // + ' '或者 + " "底层的本质其实就是调用String()函数 console.log(str); console.log(typeof str);
-
将Boolean类型转换为字符串类型
let value = true; console.log(value); console.log(typeof value); let str = value + ' '; console.log(str); console.log(typeof str);
-
将Undefined类型转换为字符串类型
let value = undefined; console.log(value); console.log(typeof value); // 以下代码的含义: 根据传入的数据重新生成一个新的字符串, 并不会影响原来的数据 let str = value + ' '; console.log(str); console.log(typeof str); // 原有的数据并没有被改变 console.log(value); console.log(typeof value);
-
将Null转换为字符串类型
let value = null; console.log(value); console.log(typeof value); let str = value + ' '; console.log(str); console.log(typeof str);