基本信息和字符串连接
JavaScript 中的字符串可以用模板文字( 反引号 )`hello`
中的单引号'hello'
,双引号 Hello
和(来自 ES2015,ES6 )括起来。
var hello = "Hello";
var world = 'world';
var helloW = `Hello World`; // ES2015 / ES6
可以使用 String()
函数从其他类型创建字符串。
var intString = String(32); // "32"
var booleanString = String(true); // "true"
var nullString = String(null); // "null"
或者,toString()
可用于将数字,布尔值或对象转换为字符串。
var intString = (5232).toString(); // "5232"
var booleanString = (false).toString(); // "false"
var objString = ({}).toString(); // "[object Object]"
也可以使用 String.fromCharCode
方法创建字符串。
String.fromCharCode(104,101,108,108,111) //"hello"
允许使用 new
关键字创建 String 对象,但不推荐使用,因为它的行为与对象不同,它与原始字符串不同。
var objectString = new String("Yes, I am a String object");
typeof objectString;//"object"
typeof objectString.valueOf();//"string"
连接字符串
字符串连接可以使用+
连接运算符完成,也可以使用 String 对象原型上的内置 concat()
方法完成。
var foo = "Foo";
var bar = "Bar";
console.log(foo + bar); // => "FooBar"
console.log(foo + " " + bar); // => "Foo Bar"
foo.concat(bar) // => "FooBar"
"a".concat("b", " ", "d") // => "ab d"
字符串可以与非字符串变量连接,但会将非字符串变量类型转换为字符串。
var string = "string";
var number = 32;
var boolean = true;
console.log(string + number + boolean); // "string32true"
字符串模板
Version >= 6
可以使用模板文字( 反引号 )`hello`
创建字符串。
var greeting = `Hello`;
使用模板文字,你可以使用模板文字内的 ${variable}
进行字符串插值:
var place = `World`;
var greet = `Hello ${place}!`
console.log(greet); // "Hello World!"
你可以使用 String.raw 将反斜杠放在字符串中而不进行修改。
`a\\b` // = a\b
String.raw`a\\b` // = a\\b