String
对象是JavaScript原生提供的三个包装对象之一,用来生成字符串的包装对象。
var s1 = 'abc';
var s2 = new String('abc'); typeof s1 // "string"
typeof s2 // "object" s2.valueOf() // "abc"
上面代码中,变量s1
是字符串,s2
是对象。由于s2
是对象,所以有自己的方法,valueOf
方法返回的就是它所包装的那个字符串。
实际上,字符串的包装对象是一个类似数组的对象(即很像数组,但是实质上不是数组)。
new String("abc")
// String {0: "a", 1: "b", 2: "c", length: 3}
除了用作构造函数,String
对象还可以当作工具方法使用,将任意类型的值转为字符串。
String(true) // "true"
String(5) // "5"
上面代码将布尔值ture
和数值5
,分别转换为字符串。