ES6 字符串扩展
1、字符串遍历接口
字符串可以被for...of
循环遍历
'use strict';
for (let codePoint of 'foo') {
//控制台输出f o o
console.log(codePoint)
}
2、include(),startsWith(),endsWith()方法
- includes():返回布尔值,表示是否找到了参数字符串。
- startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
- endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
'use strict';
let s = 'Hello world!';
// 控制台输出true
console.log(s.startsWith('Hello'))
// 控制台输出true
console.log(s.endsWith('!'))
// 控制台输出true
console.log(s.includes('o'))
这三个方法都支持第二个参数,表示开始搜索的位置。
'use strict';
let s = 'Hello world!';
// 控制台输出true
console.log(s.startsWith('world',6))
// 控制台输出true
console.log(s.endsWith('Hello',5))
// 控制台输出true
console.log(s.includes('world',6))
上面代码表示,使用第二个参数n
时,endsWith
的行为与其他两个方法有所不同,它针对前n
个字符,而其他两个方法针对从第n
个位置直到字符串结束。
3、repeat()
'use strict';
let s = 'Hello world!';
// 控制台输出Hello world!Hello world!
console.log(s.repeat(2))
4、padStart(),padEnd()
padStart()
用于头部补全,padEnd()
用于尾部补全。
'use strict';
// 'ababx'
console.log('x'.padStart(5, 'ab'))
// 'abax'
console.log('x'.padStart(4, 'ab'))
// 'xabab'
console.log('x'.padEnd(5, 'ab'))
// 'xaba'
console.log('x'.padEnd(4, 'ab'))
上面代码中,padStart
和padEnd
一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
'use strict';
// 'mfg'
console.log('mfg'.padStart(2, 'ab'))
// 'mfg'
console.log('mfg'.padEnd(2, 'ab'))
padStart
的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。
'use strict';
// "0000000001"
console.log('1'.padStart(10, '0'))
// "0000000012"
console.log('12'.padStart(10, '0'))
// "0000123456"
console.log('123456'.padStart(10, '0'))
另一个用途是提示字符串格式。
'use strict';
// "YYYY-MM-12"
console.log('12'.padStart(10, 'YYYY-MM-DD'))
// "YYYY-09-12"
console.log('09-12'.padStart(10, 'YYYY-MM-DD') )
5、字符串模板
'use strict';
let name = "Bob", time = "today";
//嵌入变量
let s= `Hello ${name}, how are you ${time}?`;
//输出
console.log(s)
作者:孟繁贵 Email:meng010387@126.com 期待共同进步!