字符串迭代方式
for ... of ....
let i = "ldkjaflf"
undefined
for (let j of i){
console.log(j)
}
# 输出结果
l
d
k
j
a
f
l
f
includes(), startsWith(), endsWith()
传统上,JavaScript 只有indexOf
方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6 又提供了三种新方法。
- includes: 返回布尔值,表示是否找到了参数字符串。
- startswith: 返回布尔值,表示参数字符串是否在原字符串的头部。
- endswith: 返回布尔值,表示参数字符串是否在原字符串的尾部。
let s = 'Hello world!'
s.startswith("Hello") // true
s.endswith("!") // true
s.includes("o") // true
repeat() 重复
'x'.repeat(3) // "xxx"
'x'.repeat('3') // "xxx"
'x'.repeat(2.9) // 'xx'
'x'.repeat('na') // ''
padStart(), padEnd() 头部补全和尾部补全
使用
ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
'x'.padStart(5, 'ab') // 'ababx' 补到长度为5
'x'.padStart(4, 'ab') // 'abax'
'xxxx'.padStart(2, 'ab') // 'xxxx' 如果长度小于原来的长度显示xxxx
实例:模板编译
let template = `
<ul>
<% for(let i=0; i < data.supplies.length; i++) { %>
<li><%= data.supplies[i] %></li>
<% } %>
</ul>
`;
上面代码在模板字符串之中,放置了一个常规模板。该模板使用<%...%>
放置 JavaScript 代码,使用<%= ... %>
输出 JavaScript 表达式。