模板字符串(``)除了提供常用的插值语法(${})外,还有一个用法,这个用法为函数提供了一种特殊调用形式 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模板字符串"
简单地讲:alert`123` 等同于 alert(123)
而当其中包含变量时,该模板字符串会被拆解成多个参数,再调用函数:
```
let a = 5;
let b = 10;
tag`Hello ${ a + b } world ${ a * b }`;
// 等同于
tag(['Hello ', ' world ', ''], 15, 50);
```
即实际调用的参数为:
1. 第一个参数,是「模板字符串排除变量部分」后,其余各部分字符串组成的数组。
2. 从第二个参数开始,则由「模板字符串中的变量」组成的列表。
参考链接:
展开
12
5
![[思考]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_15.f58c082.png)