导航
导航
文章目录
  1. 字符串的扩展
    1. 一、字符串的遍历器接口
    2. 二、at
    3. 三、indexOf(), includes(), startsWith(), endsWith()
    4. 四、repeat()
    5. 五、padStart(),padEnd()
    6. 六、模板字符串

读书笔记-es6字符串的扩展

字符串的扩展

一、字符串的遍历器接口

1
2
3
4
5
6
for (let codePoint of 'foo') {
console.log(codePoint)
}
// "f"
// "o"
// "o"

二、at

返回字符串给定位置的字符

1
2
3
4
//es5
'abc'.charAt(0) // "a"
//es6
'abc'.at(0) // "a"

三、indexOf(), includes(), startsWith(), endsWith()

  • indexOf() 确定一个字符串是否包含在另一个字符串中(es5)
  • includes() 返回布尔值,表示是否找到了参数字符串。
  • startsWith() 返回布尔值,表示参数字符串是否在源字符串的头部。
  • endsWith()返回布尔值,表示参数字符串是否在源字符串的尾部。
1
2
3
4
var s = 'Hello world!';
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

支持第二个参数,表示开始搜索的位置

1
2
3
4
var s = 'Hello world!';
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true
1
2
3
4
var s = 'Hello world!';
s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false

endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

四、repeat()

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

1
2
'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"

五、padStart(),padEnd()

字符串补全长度

  • padStart() 头部补全
  • padEnd() 尾部补全
    第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。如果省略第二个参数,默认使用空格补全长度
1
2
3
4
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'

六、模板字符串

1
2
3
// 字符串中嵌入变量
let name = "hzzly", time = "today";
`Hello ${name}, how are you ${time}?`

Github地址: https://github.com/hzzly/learn-es6