傳統的寫法
在傳統的寫法中,我們需要使用 +
和 \
來分隔字串和變數,以及處理換行,這樣容易導致錯誤或遺漏。
1 2 3 4 5 6 7 8 9 10 11 12 13
| const people = [ { name: '小明', friends: 2 }, { name: '阿姨', friends: 999 }, { name: '杰倫', friends: 0 } ];
let originUl = '<ul>\ <li>我叫做 ' + people[0].name + '</li>\ <li>我叫做 ' + people[1].name + '</li>\ <li>我叫做 ' + people[2].name + '</li>\ </ul>';
console.log(originUl);
|

樣板字面值的寫法
使用樣板字面值(Template literals),我們可以用反引號 `
將字串包起來,這樣就能夠更簡潔地插入變數和換行。
1 2 3 4 5 6 7 8 9
| let New1 = ` <ul> <li>我叫做 ${people[0].name}</li> <li>我叫做 ${people[1].name}</li> <li>我叫做 ${people[2].name}</li> </ul> `;
console.log(`我是New1 ${New1}`);
|

使用迴圈生成列表
我們也可以使用 map
方法來迴圈生成列表,這樣能夠更靈活地處理資料。
1 2 3 4 5 6 7 8 9 10 11
|
let New2 = ` <ul> ${people.map(i => `<li>我叫做 ${i.name}</li>`).join('')} </ul> `;
console.log(`我是New2 ${New2}`);
|

join 補充
join
方法的預設分隔符是逗號 ","
,可以使用空字串 ''
來替代,以便獲得想要的結果。
更多關於 join
的信息可以參考 MDN 文檔。