1. 程式人生 > >ES6模板字串replace實現

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)