首頁 > web前端 > js教程 > 主體

在沒有「eval」或「new Function」的情況下,可以將常規字串轉換為 JavaScript 中的模板文字嗎?

Susan Sarandon
發布: 2024-11-23 00:40:12
原創
322 人瀏覽過

Can a Regular String Be Converted to a Template Literal in JavaScript Without `eval` or `new Function`?

將字串轉換為模板字串

可以將普通字串轉換為模板字串,從而無需動態程式碼生成技術像評估或新的函數?

答案:

是的,在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板