如何使用动态值插入标记的模板字符串?

How to interpolate a tagged template string with a dynamic value?

我想插入一个模板字符串(在别处定义):

const url = `www.example.com/${query}/current.json`;

用一个动态值(例如,"es6")变成这样:

"www.example.com/es6/current.json"

例如,如果我有这样的东西:

function makeRequest(url, query){
  // how do I generate my final url, here from the url and query?
}

// somehwere else:
makeRequest(url, query)

标记模板字符串和标记函数是否可行?我见过许多不同的示例,但 none 适合这种特定情况。

这正是发明函数的原因!

const dynamicUrl = query => `www.example.com/${query}/current.json`

console.log(dynamicUrl('es6')) //=> 'www.example.com/es6/current.json'