」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > ES6 模板文字真的可以重複使用嗎?

ES6 模板文字真的可以重複使用嗎?

發佈於2024-11-08
瀏覽:580

Can ES6 Template Literals be Truly Reusable?

ES6 模板文字中的可重用性難題

ES6 模板文字中的可重用性難題

本次討論中提出的主要問題圍繞著ES6 模板文字中假定缺乏可重用性的問題。傳統的演示強調聲明時的替換,不允許運行時修改。

解決方案:利用函數建構子

const templateString = `Hello ${this.name}!`;
const templateVars = {
    name: "world"    
};

const fillTemplate = function(templateString, templateVars){
    return new Function("return `"   templateString   "`;").call(templateVars);
};

console.log(fillTemplate(templateString, templateVars));
考慮以下程式碼片段:

const templateString = `Hello ${this.name}!`; const templateVars = { 名稱:《世界》 }; const fillTemplate = 函數(templateString, templateVars){ return new Function("return `" templateString "`;").call(templateVars); }; console.log(fillTemplate(templateString, templateVars));透過呼叫函數,您可以產生所需的字串,同時擁有執行時間修改變數的彈性。

  • 的好處這種方法:
  • 啟用模板值的運行時替換
有利於來自外部來源的插值,例如文件

允許動態字串操作

  • 潛在缺點:
  • 範本標籤可能需要額外的實作工作
由於延遲,不支援模板內的內聯JavaScript 邏輯插值

與每個模板使用的函數創建相關的內存開銷

Can ES6 Template Literals be Truly Reusable?

總之,雖然ES6 模板文字本質上缺乏真正的可重用性,但使用Function 建構函數提供了模擬所需行為的解決方法在運行時創建和修改模板。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3