今天聊聊模板字符串的原理。
var name = 'he';
var age = 18
console.log(`${name}今年已经${age}岁了`)
底层原理:
let str = '${name}今年已经${age}岁了'
function myReplace(str){
return str.replace(/\$\{([^}]*)\}/g, function(matched,key){
return eval(key)
})
}
console.log(myReplace(str))
模板字符串的本质是找到${},然后将里面的key利用eval函数进行调用并返回。