ES2015之String

200 阅读2分钟

这是我参与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

注意事项

我们需要注意的是:

  1. repeat()的参数介于 0 和 +Infinity之间的整数,如果参数超出范围则会报错,如下:
console.log(name.repeat(-1));
或
console.log(name.repeat(1 / 0));

输出都是:

RangeError: Invalid count value
    at String.repeat (<anonymous>)
  1. includes() 方法是区分大小写的。

总结

在项目中,includes()方法是经常用的,使用它有很多好处:

  1. 我们可以省略很多的if else判断使代码更简洁。
  2. 我们可以对字符串是否含某段字符做判断,也可以使用它来做模糊查询。 当然有利必有弊,只不过是大小的原因,目前还没关注过有什么弊端,有熟悉的xd,可以留言告知,谢谢!

如果你想了解ES的其他特性,请移步到 ES2015+碎片化学习,每天都在向前走一步,这是所有文章的目录入口。