这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战
String
ES2015的标准增加了:String的一些拓展,这篇文章我们就来了解一下什么是String的一些拓展。
String 全局对象是一个用于字符串或一个字符序列的构造函数。
如何使用
String.prototype.repeat()
repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本,使用如下:
const name = "也笑"
console.log(name.repeat(3)); // 也笑也笑也笑
当我们开发的时候,可能会重复的渲染某个字符串,这样的话,我们就可以用此方法实现。
String.prototype.includes()
includes() 方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。它的语法如下:
str.includes(searchString[, position])
参数如下:
searchString:要在此字符串中搜索的字符串。position:从当前字符串的哪个索引位置开始搜寻子字符串,默认值为0。
我们可以这样使用:
const name = "也笑"
console.log(name.includes('也')); // true
console.log(name.includes('也', 1)); // false
此方法是区分大小写的,如下:
console.log('abs'.includes('A')); // false
注意事项
我们需要注意的是:
repeat()的参数介于0和+Infinity之间的整数,如果参数超出范围则会报错,如下:
console.log(name.repeat(-1));
或
console.log(name.repeat(1 / 0));
输出都是:
RangeError: Invalid count value
at String.repeat (<anonymous>)
includes()方法是区分大小写的。
总结
在项目中,includes()方法是经常用的,使用它有很多好处:
- 我们可以省略很多的
if else判断使代码更简洁。 - 我们可以对字符串是否含某段字符做判断,也可以使用它来做模糊查询。 当然有利必有弊,只不过是大小的原因,目前还没关注过有什么弊端,有熟悉的xd,可以留言告知,谢谢!
如果你想了解ES的其他特性,请移步到 ES2015+碎片化学习,每天都在向前走一步,这是所有文章的目录入口。