下面是关于“ES6 字符串 String 的扩展(实例讲解)”的完整攻略:
ES6 字符串 String 的扩展
ES6 对字符串 String 类型进行了很多扩展,本文中我们将分别介绍模板字符串、标签模板以及字符串相关实例方法。
模板字符串
模板字符串是ES6新引入的一种字符串,可以在其中插入变量,同时还可以进行字符串拼接,并且支持换行。
- 字符串拼接
使用传统的字符串拼接方式,通常是将几个字符串通过"+"符号连接起来。但是随着字符串的复杂度增加,这种方式会变得难以阅读和管理,而且还容易出错。
使用模板字符串可以更加简便地拼接字符串,只需要在字符串中插入变量即可。
let name = '张三';
let age = 20;
let str = `我的名字是${name},年龄是${age}岁。`;
console.log(str); // 我的名字是张三,年龄是20岁。
在模板字符串中,使用${}将变量括起来,变量的值会被自动替换成字符串中的对应值。
- 多行字符串
在ES5中,要创建多行字符串就必须使用反斜杠(\)来表示换行符。在ES6中,可以使用模板字符串来创建多行字符串。
let str = `第一行
第二行
第三行`;
console.log(str);
// 第一行
// 第二行
// 第三行
标签模板
标签模板是指对模板字符串进行特殊处理的一种函数,可以将模板字符串中的变量进行定制化处理,并将处理结果返回。
标签模板函数的第一个参数是一个数组,包含了使用模板字符串分割后的字符串变量,其余的参数则表示模板字符串中的变量值。
下面来看一个简单的例子,通过标签模板将模板字符串转化成大写字符串。
let upper = (first, ...others) => {
return first + others.map( x => x.toUpperCase() ).join('');
}
let name = '张三';
let age = 20;
let str = upper`我的名字是${name},年龄是${age}岁。`;
console.log(str); // 我的名字是张三,年龄是20岁。 => 我的名字是张三,年龄是20岁。
在上面的例子中,我们首先定义了一个 upper 标签模板函数,它的作用是将数组中除第一个元素外的所有字符串转换成大写,然后将结果用字符串连接起来。紧接着,在定义了两个变量 name 和 age 后,我们将模板字符串传给标签模板函数 upper,这样就可以得到处理过的字符串。
字符串相关实例方法
ES6 中,在字符串数据类型上新增了很多实例方法,其中每一个实例方法都可以实现某些常用的功能。下面是一些常用的字符串相关实例方法。
includes
includes 方法可以判断一个字符串是否包含另一个字符串。它返回一个布尔值。
let str = 'hello,world';
console.log(str.includes('hello')); // true
console.log(str.includes('hi')); // false
startsWith
startsWith 方法可以判断一个字符串是否以另一个子串开头。它返回一个布尔值。
let str = 'hello,world';
console.log(str.startsWith('hello')); // true
console.log(str.startsWith('hi')); // false
endsWith
endsWith 方法可以判断一个字符串是否以另一个子串结尾。它返回一个布尔值。
let str = 'hello,world';
console.log(str.endsWith('world')); // true
console.log(str.endsWith('hi')); // false
repeat
repeat 方法可以将一个字符串重复指定的次数。
let str = 'hello,world';
console.log(str.repeat(3)); // hello,worldhello,worldhello,world
以上就是关于 ES6 字符串 String 的扩展的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:es6 字符串String的扩展(实例讲解) - Python技术站