手记

模板字符串的简单实现

实现方法 render(tmpl, data),将模板 tmpl 中的占位符,替换填充为 data 数据

const tmpl = "I'm {{name}}. I'm {{age}} years old.";
const data = { name: "Lucy", age: "23" };
// --> const result = "I'm Lucy. I'm 23 years old.";

版本一

function render(tmpl, data) {
    return tmpl.replace(/\{\{(.*?)\}\}/g, (match, key) => data[key.trim()]);
}

const result = render(tmpl, data);

版本二

String.prototype.render = function (data) {
    return this.replace(/{{(.*?)}}/g, (match, key) => data[key.trim()]);
};

const result = tmpl.render(data);

转自:一行代码实现一个简单的模板字符串替换

0人推荐
随时随地看视频
慕课网APP