Skip to content
On this page

模版字符串替换

描述

模版字符串替换

javascript
const data = {
  name: "小明",
  age: 16,
  school: "第三中学",
  classroom: "教室2",
};

console.log(
  "{{ name }} 今年 {{ age }} 岁,就读于 {{ school }} 今天在 {{ classroom }} 上课,{{ name }} {{ #data.age >= 18 ? '成年了' : '未成年' }}".render(
    data
  )
);
// 小明 今年 16 岁,就读于 第三中学 今天在 教室2 上课,小明 未成年

题解

javascript
export default function main(data) {
  return this.replace(/{{(.*?)}}/g, (_, m) => {
    const k = m.trim();
    if (k.startsWith("#")) {
      return eval(k.substring(1));
    } else {
      return data[k] || "";
    }
  });
}