js的String()和toString()
时间: 2024-04-08 15:33:10 浏览: 30
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
在 JavaScript 中,String() 和 toString() 都是用于将其他数据类型转换为字符串的方法。它们的使用方式和功能略有不同。
1. String():
String() 是 JavaScript 中的一个全局函数,可以将任意数据类型转换为字符串。它可以用作构造函数(使用 `new` 关键字)或直接调用。当作为构造函数使用时,可以将其他数据类型转换为字符串对象;当直接调用时,可以将其他数据类型转换为普通字符串。
例如:
```javascript
let num = 10;
let strObject = new String(num); // 使用String()作为构造函数
console.log(strObject); // 输出 "10"
console.log(typeof strObject); // 输出 "object"
let str = String(num); // 直接调用String()
console.log(str); // 输出 "10"
console.log(typeof str); // 输出 "string"
```
在上面的示例中,我们将数字 `10` 使用 `String()` 转换为字符串。当作为构造函数使用时,返回的是字符串对象;当直接调用时,返回的是普通字符串。
2. toString():
toString() 是 JavaScript 中每个对象都有的方法,用于将该对象转换为字符串。它不是全局函数,而是对象自带的方法。
例如:
```javascript
let num = 10;
let str = num.toString();
console.log(str); // 输出 "10"
console.log(typeof str); // 输出 "string"
let arr = [1, 2, 3];
let arrStr = arr.toString();
console.log(arrStr); // 输出 "1,2,3"
console.log(typeof arrStr); // 输出 "string"
```
在上面的示例中,我们使用 `toString()` 方法将数字 `10` 和数组 `[1, 2, 3]` 转换为字符串。
需要注意的是,某些数据类型(如 null 和 undefined)没有自己的 toString() 方法,尝试在它们上面调用 toString() 方法会导致错误。为了避免这种情况,可以使用 String() 函数将其转换为字符串。
总结:String() 是一个全局函数,可以将任意数据类型转换为字符串,而 toString() 是对象的方法,用于将对象转换为字符串。
阅读全文