读书笔记-es6字符串的扩展
2017.04.22
hzzly
字符串的扩展
一、字符串的遍历器接口
1 2 3 4 5 6
| for (let codePoint of 'foo') { console.log(codePoint) }
|
二、at
返回字符串给定位置的字符
1 2 3 4
| 'abc'.charAt(0)
'abc'.at(0)
|
三、indexOf(), includes(), startsWith(), endsWith()
- indexOf() 确定一个字符串是否包含在另一个字符串中(es5)
- includes() 返回布尔值,表示是否找到了参数字符串。
- startsWith() 返回布尔值,表示参数字符串是否在源字符串的头部。
- endsWith()返回布尔值,表示参数字符串是否在源字符串的尾部。
1 2 3 4
| var s = 'Hello world!'; s.startsWith('Hello') s.endsWith('!') s.includes('o')
|
支持第二个参数,表示开始搜索的位置
1 2 3 4
| var s = 'Hello world!'; s.startsWith('Hello') s.endsWith('!') s.includes('o')
|
1 2 3 4
| var s = 'Hello world!'; s.startsWith('world', 6) s.endsWith('Hello', 5) s.includes('Hello', 6)
|
endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。
四、repeat()
返回一个新字符串,表示将原字符串重复n次。
1 2
| 'x'.repeat(3) 'hello'.repeat(2)
|
五、padStart(),padEnd()
字符串补全长度
- padStart() 头部补全
- padEnd() 尾部补全
第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。如果省略第二个参数,默认使用空格补全长度
1 2 3 4
| 'x'.padStart(5, 'ab') 'x'.padStart(4, 'ab') 'x'.padEnd(5, 'ab') 'x'.padEnd(4, 'ab')
|
六、模板字符串
1 2 3
| let name = "hzzly", time = "today"; `Hello ${name}, how are you ${time}?`
|
Github地址: https://github.com/hzzly/learn-es6