JavaScript - ES6 - 樣板字串
以往在組字串時,都是透過 引號 '、" 和 加號 + 來組合,換行也必須在結尾加上 反斜線 \,撰寫上容易混亂,閱讀也不夠自然,因此 ES6 新增了組字串的新方法,組起來也較為接近原生的 HTML
ES6 字串基本寫法
ES6 新增的方法如下
使用 重音符 ` 來取代引號包住字串
使用
${ }來包住 “變數” 或 “函式”,取代加號+來連接1
2
3
4
5
6
7
8<ul class="list"></ul>
<!-- after js -->
<ul class="list">
<h2>我是標題</h2>
<img src="logo.png" alt="">
<p>我是內容</p>
</ul>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22const list = document.querySelector('.list');
const title = '我是標題';
const imgUrl = 'logo.png';
function func(){
return '我是內容';
};
// 傳統寫法
list.innerHTML = '<li>\
<h2>' + title + '</h2>\
<img src="' + imgUrl + '" alt="">\
<p>' + func() + '</p>\
</li>';
// ES6
list.innerHTML = `
<li>
<h2>${title}</h2>
<img src="${imgUrl}" alt="">
<p>${func()}</p>
</li>
`;- 如果需要插入重音符 ` 或其他特殊字元,可以使用 “反斜線” \ 來進行轉義
1
2let text = `\`Hello\` World`;
console.log(text); // `Hello` World
${} 插入 JavaScript 原始碼
在 ES6 新增的 ${} 還可以直接插入 JavaScript 原始碼 ; 如下範例要將陣列的中的值帶到字串中,以下是一般寫法
1 | const people = [ |
這裡我們透過 map() 將陣列做迴圈處理,並回傳處理後的結果,但處理後的結果因為原本是陣列,所以會用逗號 , 隔開,要再透過 join() 取消逗號 ,,而 join() 這個方法的預設是 join(','),所以帶入空值 join('') 會取消逗號
1 | let newUl = ` |