將字串轉換為模板字串
可以將普通字串轉換為模板字串,從而無需動態程式碼生成技術像評估或新的函數?
答案:
是的,在ES6 中,可以在String 原型上加入自訂方法:
String.prototype.interpolate = function(params) { const names = Object.keys(params); const vals = Object.values(params); return new Function(...names, `return \`${this}\`;`)(...vals); } const template = 'Example text: ${text}'; const result = template.interpolate({ text: 'Foo Boo' }); console.log(result);
這個方法需要一個物件作為參數,其中鍵代表模板字串變量,值是它們的替換。它創建一個新函數,返回插值模板字串並使用提供的值執行它。
以上是在沒有「eval」或「new Function」的情況下,可以將常規字串轉換為 JavaScript 中的模板文字嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!