模板字符串(``)除了提供常用的插值语法(${})外,还有一个用法,这个用法为函数提供了一种特殊调用形式 func`x`。

简单地讲:alert`123` 等同于 alert(123)

而当其中包含变量时,该模板字符串会被拆解成多个参数,再调用函数:

```
let a = 5;
let b = 10;

tag`Hello ${ a + b } world ${ a * b }`;
// 等同于
tag(['Hello ', ' world ', ''], 15, 50);
```

即实际调用的参数为:

1. 第一个参数,是「模板字符串排除变量部分」后,其余各部分字符串组成的数组。
2. 从第二个参数开始,则由「模板字符串中的变量」组成的列表。

参考链接:es6.ruanyifeng.com模板字符串"
展开
zhangbao90s于2019-12-05 02:58发布的图片
12