模板字面量&标签模板
引入标签模板之前,对字符串的使用:
var name = 'kaka';
var club = 'AC Milian';
var info = `name: ${name} club: ${club}`;
单纯的使用模板字面量,但是会有一些弊端:
- 不能自动转义特殊字符串
- 不能很好的和国际化库配合(不会格式化特定语言的数字,日期,文字等)
- 没有内建循环语法
参考:https://blog.csdn.net/zhanglir333/article/details/78585435?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158846954819195239859279%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.57652%2522%257D&request_id=158846954819195239859279&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-2
此时就可使用标签模板
使用方法:在模板字面量前加tag,
var name = 'kaka';
var club = 'AC Milian';
var info = tag`name: ${name} club: ${club}`;
function tag(strings, ...vars) {
}
//函数tag的第一个参数 strings 是一个数组,即为:["name:","club:",""]
//之后可传入多个变量,name、club,当变量很多或不确定时,也可以使用属性扩散 ...vars:["kaka","AC Milan"]
//然后可在tag函数中编写需要实现的功能
注意: strings
中的变量个数始终要比vars
里的多一个。