字符串的擴展
字符串的遍歷接口
es6爲字符串添加了變量接口,可以使用for...of
變量字符串
function forString(){
let string="jack";
for(let s of string){
console.log(s);
}
}
forString();
字符串模板
模板字符串(template string)是增強版的字符串,用反引號(`)標識。它可以當作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量。
- 模板字符串中所有的縮進、換行回車、空格都會保留
console.log(`string text line 1
string text line 2`);
- 字符串模板使用反引號標識,如果字符串中包含反引號需要轉移
let greeting = `\`Yo\` World!`;
- 使用
${變量名稱}
方式執行JavaScript代碼
//使用${}嵌入變量
let name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
//使用${}計算表達式
let x=1,y=2;
let stringTemplate=`表達式:${x}+${y}=${x+y}`;
console.log(stringTemplate); //->表達式:1+2=3
//使用${}執行函數
let x=1,y=2;
function add([x=0,y=0]=[]){
return x+y;
}
let stringTemplate=`表達式:${x}+${y}=${add([x,y])}`;
console.log(stringTemplate);
- 模板字符串中也可以通過
${}
嵌套模板字符串
下面代碼中${}
執行的javascr代碼就返回一個模板字符串
//數據源
const users = [
{userName:"Tom",age:10},
{userName:"Jerry",age:12}
]
//模板函數,將數據源以table格式輸出
const template=users=>{
return `
<table>
${users.map(
item=>{
return `<tr><td>${item.userName}</td><td>${item.age}</td></tr>`
}
).join('')}
</table>
`;
}
template(users);