小猿圈web前端之ES6模板字符串和标签模板应用实例分析

171 阅读2分钟

对于学习前端的小伙伴来说ES6模板字符串是不是一点都不陌生呢,从开始学习前端就慢慢基础的ES6模板但是你真的熟练了吗?今天小猿圈web前端讲师讲解ES6模板字符串和标签模板应用实例分析。


结合实例形式分析了ES6模板字符串和标签模板的功能、原理、用法及相关操作注意事项,首先ES6中对字符串进行了扩展,而模板字符串就是一个非常实用的方式,可以在html中实现与变量和方法的混编。

我们手动拼接字符串的方式

let hello = 'Hello';

let html = '<div>' +

'<span>'+ hello +'</span>' +

'</div>';

console.log(html); // <div><span>Hello</span></div>

ES6中使用模板字符串来优化了拼接的方式

let name = 'Joh';

let qq = '56655';

function log() {

return 'Hi there!';

}

let html = `

<div>

<ul>

<li>${ name === 'Joh' ? 'is Joh' : 'not Joh'}</li>

<li>${qq}</li>

<li>${log()}</li>

<ul>

</div>

`

console.log(html);

/*

// 输出如下html:

<div>

<ul>

<li>is Joh</li>

<li>56655</li>

<li>Hi there!</li>

<ul>

</div>

*/

可以看出模板字符串优化了之前拼接字符串的方式,更方便于编程

关于标签模板

未经处理的标签函数与模板字符串的结合,导致模板字符串失效

function tag() {

return 'tag';

}

let name = "Joh";

var res = tag`hello ${name}`;

console.log(res); // tag

标签函数对模板字符串进行处理,安全编码的示例:

function safe(strArr) {

let res = '';

console.log(arguments);

for(var i=0, len = strArr.length; i < len; i++) {

res += strArr[i].replace(/</g, '<').replace(/>/g, '>');

if(i < arguments.length -1) {

res += arguments[i + 1];

}

}

return res;

}

let name = 'Joh';

var result = safe`<p>hello ${name}</p>`;

console.log(result); // <p>hello Joh</p>

以上就是ES6模板字符串和标签模板应用实例分析的全部内容,经过小猿圈web前端讲师的讲解,你是否又重新认识的一边以前学习的知识呢web前端自学②群:738735873,遇到不懂得话可以查看我以前发布的文章,也可以关注小猿圈网站,里面有你需要的知识的学习视频。