打赏

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')) 

上面代码中,padStartpadEnd一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。

'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)

 

posted @ 2017-12-08 12:05  孟繁贵  阅读(841)  评论(0编辑  收藏  举报
TOP