樣板字面值(Template literals)是允許嵌入運算式的字串字面值(string literals)。你可以透過樣板字面值來使用多行字串及字串內插(string interpolation)功能。他們在 ES2015 規範的先行版本中被稱為「樣板字串(template strings)」。
例 1
一般用法
const cash = 10:
const string = "氣氣氣氣";
const sentence = "我的" + cash + "元掉到水溝裡了,真是," + string;
console.log(sentence);
樣板字面值
const cash = 10:
const string = "氣氣氣氣";
const sentence = `我的 ${cash} 元掉到水溝裡了,真是${string}`;
console.log(sentence);
使用 ||
const cash = 10:
const string = "氣氣氣氣";
const sentence = `我的 ${cash} 元掉到水溝裡了,真是${ string || '我好興奮啊'}`;
console.log(sentence);
例 2
一般
const listString =
'<ul>\
<li>我是 ' + people[0].name + ',身上有 + ' people[0].cash ' + 元</li>\
<li>我是 xxx,身上有多少元</li>\
<li>我是 xxx,身上有多少元</li>\
</ul>';
console.log(liststring);
樣板字面值
將 ''
換成 ``
且不用使用 \
即可換行
const listString =
`<ul>
<li>我是 ${people[0].name},身上有 + ${people[0].cash} 元</li>
<li>我是 xxx,身上有多少元</li>
<li>我是 xxx,身上有多少元</li>
</ul>`;
console.log(liststring);