es6的语法中模板字符串是在开发中经常使用到的。
关于模板字符串还存在一个对应的标签函数。关于标签函数的使用我们来简单介绍下
let a = 12
let b = 24
function testTag(a,b,c){
console.log(a)//['this ', ' and ', '']
console.log(b)// 12
console.log(c)//24
// dosomething
return 'test'
}
let testStrings = testTag`this ${a} and ${b}`
console.log(testStrings) // test
let a = 12
let b = 24
function testTag(a,b,c){
console.log(a) // ['', ' and ', '']
console.log(b) // 12
console.log(c) // 24
// dosomething
return 'test'
}
let testString = testTag`${a} and ${b}`
console.log(testString) // test
通过上述两种模板字符串标签函数的传值方式可以总结为
1.以变量开始开始或者变量结尾时,标签函数的第一个参数为没有没有入参的模板字符串数组,并且数组以开始空值,结束空值( ['', ' and ', '']),还要区分不同情况下的空格。
2.因为参数的不确定我们可以改变一下写法,将参数列表转化为数组的形式,方便将参数处理成我们需要的目标字符串
let a = 12
let b = 24
// 将参数列表转化为数组的形式,方便处理
function testTag(a,...args){
console.log(a) // ['', ' and ', '']
console.log(args) // [12,24]
// dosomething
return 'test'
}
let testString = testTag`${a} and ${b}`
console.log(testString) // test
标签函数在一般的开发中使用的比较少,但是还是要了解的,以上就是我自己的一些分享。