标签模板
# 标签模版
行 A 中的表达式是标签模板:
const first = 'Lisa';
const last = 'Simpson';
const result = tagFunction`Hello ${first} ${last}!`; // A
1
2
3
4
5
2
3
4
5
最后一行相当于:
const result = tagFunction(['Hello ', ' ', '!'], first, last);
1
2
2
tagFunction
的参数是:
模板字符串(第一个参数):一个包含插值(
${...}
)周围文本片段的数组。- 在示例中:['Hello ', ' ', '!']
替换值(剩余参数):插值。
- 在示例中:
'Lisa'
和'Simpson'
- 在示例中:
字面值的静态(固定)部分(模板字符串)与动态部分(替换)分开。
tagFunction
可以返回任意值,并接受模板字符串的两个视图作为输入(只有熟视图显示在上一个示例中):
熟视图
\t
变为制表符\
变为一个反斜杠
原始视图,其中:
\t
变为斜线后跟t
\
变为两个反斜杠
原始视图通过String.raw
和类似的应用提供原始字符串字面值。
编辑 (opens new window)
上次更新: 2022/08/25, 20:47:16