es6的模板字符串功能可以让我们拼接模板的时候更方便,拼接的模板越长,这种优势就越明显;
- “``”:使用反引号将要拼接的模板包起来;
- “${变量名}”:使用“$”加“{}”的组合将变量包起来;
一、字符模板
- es5 及以下版本的拼接方法
'use strict';
let [one,two] = [1,2];
let str = '我是'+one+',我是'+two+'';
console.log(str);//我是1,我是2
2.es6中的拼接方法
'use strict';
let [one,two] = [1,2];
let str = `我是${one},我是${two}`;
console.log(str);//我是1,我是2
可以自由换行:
'use strict';
let [one,two] = [1,2];
let str = `
我是${one},
我是${two}
`;
console.log(str);
/*
我是1,
我是2
*/
二、定义方法处理拼接的模板
通过自定义方法可以将拼接好的模板进行处理,判断变量是否符合要求,或者修改模板;使用时只需要将定义的方法名放在模板前即可;
'use strict';
let [one,two] = [1,2];
let str = set_tpl`
我是${one},
我是${two}
`;
function set_tpl(strings,...value){
console.log(getstr);
console.log(value);
let res = '';
for(let i = 0,len=value.length;i<len;i++){
res += getstr[i];
res += value[i]+1;
};
res += getstr[getstr.length-1];
return res;
};
/*
* [ '\n 我是', ',\n 我是', '\n' ]
* [ 1, 2 ]
*
* 我是2,
* 我是3
*
*/
三、判断模板是否包含某个字符串
- startsWith:判断模板是否以某个字符串开头,返回 Boolean值;
- endsWith:判断模板是否以某个字符串结束,返回 Boolean值;
- includes:判断模板是否包含某个字符串,返回 Boolean值;
1.startsWith
'use strict';
let [one,two] = [1,2];
let str = `我是${one},我是${two}`;
let res = str.startsWith('我是');
let res1 = str.startsWith('是');
console.log(res);//true
console.log(res1);//false
2.endsWith
'use strict';
let [one,two] = [1,2];
let str = `我是${one},我是${two}!`;
let res = str.endsWith(two+'!');
let res1 = str.endsWith('是');
console.log(res);//true
console.log(res1);//false
3.includes
'use strict';
let [one,two] = [1,2];
let str = `我是${one},我是${two}!`;
let res = str.includes('我');
let res1 = str.includes('是吗');
console.log(res);//true
console.log(res1);//false