ES6模板字符串replace实现

ES6模板字符串

const obj = {
  name: 'zj',
  age: 18
}
const str = `我的名字叫${obj.name},今年${obj.age}岁`
console.log(str)

模板字符串replace实现

function replace(desc) {
  return desc.replace(/\$\{([^}]+)\}/, function (mathch, key) {
    return key
  })
}
console.log(replace(str))

自定义模板字符串

function desc(strings, ...args) {
  let result = ''
  for (let i in args) {
    result += strings[i] + args[i]
  }
  return result + strings[strings.length - 1]
}
const describe = desc`我的名字叫${obj.name},今年${obj.age}岁`
console.log(describe)

你可能感兴趣的:(JavaScript,ES6)