字符串的扩展
ES6增加了几个操作字符串的方法:includes(), startsWith(), endsWith()。
includes():返回布尔值,表示是否找到了参数字符串;
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部;
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
注意:三个方法都支持第二个参数,表示开始搜索的位置。
代码举例:
let a = 'Hello World!';
console.log(a.startsWith('Hello')); // true
console.log(a.endsWith('!')); // true
console.log(a.includes('o')); // true
let b = 'Hello World!';
console.log(b.startsWith('world', 6)); // true
console.log(b.endsWith('Hello', 5)); // true
console.log(b.includes('Hello', 6)); // false
模板字符串
拼接字符串很繁琐,且易错:
let person = {name : 'yy', age : 18};
let str = 'Hello ' + person.name + ', your age is ' + person.age + '.';
console.log(str);
模板字符串(template string)是增强版的字符串,用反引号(`)标识。
它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
代码举例:
// 普通字符串
let str1 = `Hello.`;
console.log(str1);
// 多行字符串
let str2 = `Hello
World.`;
console.log(str2);
// 字符串中嵌入变量
let name = "xx", age = 17;
let str3 = `Hello ${name}, your age is ${age}.`;
console.log(str3);
// 放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性
let person = {name : 'yy', age : 18};
let str4 = `Hello ${person.name}, your age is ${person.age + 1}.`;
console.log(str4);