模板字符串核心優勢
- ✅ 用 ` 包裹(不是單引號/雙引號!)
- ✅ 支持 多行文本(直接回車換行)
- ✅ 內插變量/表達式:用
${}直接塞內容 - ✅ 代碼超清晰,再也不用寫
name + '你好' + age
🧪 代碼例子
1️⃣ 基礎內插(最常用!)
const name = "小明";
const age = 25;
const message = `你好,${name}!你今年${age}歲啦~`;
console.log(message);
// 輸出:你好,小明!你今年25歲啦~
💡 為什麼好用?
普通寫法:"你好," + name + "!你今年" + age + "歲啦~"→ 看着就頭大!
2️⃣ 多行文本(寫文檔/HTML超方便)
const blog = `
<div class="post">
<h2>今天天氣超好!</h2>
<p>適合出去野餐~</p>
</div>
`;
console.log(blog);
// 輸出(帶換行):
// <div class="post">
// <h2>今天天氣超好!</h2>
// <p>適合出去野餐~</p>
// </div>
💡 對比普通字符串:
用雙引號寫多行得加\n,看着像亂碼:"<div>...<p>...</p></div>"
3️⃣ 內插表達式(高級玩法)
const price = 199;
const isDiscount = true;
const result = `商品價格:${price}元 ${
isDiscount ? "(折扣中!)" : "原價"
}`;
console.log(result);
// 輸出:商品價格:199元 (折扣中!)
💡 小技巧:
${}裏可以放任何JS表達式,比如函數、三元運算符!
4️⃣ 和函數結合(真實場景)
function formatUser(name, age) {
return `用户名:${name} | 年齡:${age}歲`;
}
console.log(formatUser("小紅", 30));
// 輸出:用户名:小紅 | 年齡:30歲
❓ 為什麼説它“拯救了程序員”?
|
傳統寫法
|
模板字符串
|
|
|
|
|
需要轉義引號: |
|
💡 小貼士(親測避坑)
- 反引號位置:鍵盤左上角
~鍵(和ESC在同一個鍵上),不是單引號'! - 嵌套變量:
const html =${user.name};✅ - 別和jQuery混:這是純JS語法,和jQuery無關(但超好用!)