字符串模板

  在传统的JavaScript语言中,输出模板通常是这样写的。

上面这种写法繁琐不方便,于是ES6中引入了字符串模板解决这个问题。

用反引号(`)标识。他可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

如果使用模板字符串表示多行字符串,所有的空格和缩进都会保留在输出当中。

上面代码中,所有模板字符串的空格和换行,都是被保留的,比如<ul>标签前面会有一个换行。如果你不想要这个换行,可以使用trim方法消除它。

模板字符串中嵌入变量,需要将变量名写在${}之中。

大括号内部可以放入任意JavaScript表达式,可以进行计算,以及引用对象属性。

模板字符中还能调用函数。

如果大括号中的值不是字符串,将按照一般的规则转为字符串。比如,大括号中是一个对象,将默认调用对象的toString方法。

如果模板字符串中的变量没有声明,将会报错。

模板字符串甚至还能嵌套。

  includes(), startsWith(), endsWith() 

  在JavaScript中只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。而ES6中有提供了三种新方法。

–includes():返回布尔值,表示是否找到了参数字符串。

–startsWith():返回布尔值,表示参数数字字符串是否在原字符串的头部。

–endsWith() :返回布尔值,表示参数数字字符串是否在原字符串的尾部。

这三个方法都是支持第二个参数,表示开始搜索的位置。

上面代码表示,使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

    repeat()

repeat方法返回一个新字符串,表示将原字符串重复n次。

如果参数是小数,那么会被取整。

如果repeat的参数是负数或者Infinity,会报错。

但是,如果参数是 0 到 -1 之间的小数,则等同于 0 ,这是因为会先进行取整运算。0 到 -1 之间的小数,取整以后等于 -0,repeat视同为 0 。

参数NaN等同于 0。

如果repeat的参数是字符串,则会先转换成数字。

  padStart(),padEnd()

padStart()用于头部补齐,padEnd()用于尾部补齐。

上面代码中,padStart()padEnd()一共接受两个参数,第一个参数是字符串补全生效的长度,第二个参数是用来补全的字符串。

如果 原字符串的长度大于或等于最大的长度,则字符串不生效,返回原字符串。

如果用来补齐的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出部分的补全字符串。

如果省略第二个参数,默认使用空格补齐长度。

版权声明:本文为zhen-prz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhen-prz/p/10485627.html