es6模板功能

es6的模板字符串功能可以让我们拼接模板的时候更方便,拼接的模板越长,这种优势就越明显;

  • “``”:使用反引号将要拼接的模板包起来;
  • “${变量名}”:使用“$”加“{}”的组合将变量包起来;

一、字符模板

  1. 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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容