手寫ES6模板字串解析原理

2021-10-09 12:23:06 字數 1095 閱讀 6576

也許你對字串的拼接久久不能忘懷,在早期的前端開發中,尤其是jquery時代,那時候沒有mvvm這樣的框架,後台返回的資料都要通過字串拼接渲染到介面上,遇到回車換行簡直是 。。。 要寫老長老長的**。es6中模板字串的出現,可以毫不誇張的說節省了我們太多太多的時間。

今天我就簡要給大家刨析一下,模板字串的實現原理

let name = '長城軟體',

age = 40;

let str = `hello~~$風風雨雨走過了$載`;

console.log(str)

// 控制台列印如下:

[running] node "f:\web全棧\js\tempcoderunnerfile.js"

hello~~長城軟體風風雨雨走過了40載

[done] exited with code=0 in 0.18 seconds

看似好神奇,為什麼$就可以把值顯示出來呢?其實是系統對這樣的模板進行解析出來

// 非官方

function strmodel(str) ]*)\}/g;

str = str.replace(reg, function (x,y) )

return str;

}

再呼叫看看一切都是那麼的自然

let name = '長城軟體',

age = 40;

let str = "hello~~$風風雨雨走過了$載";

function strmodel(str) ]*)\}/g;

str = str.replace(reg, function (x,y) )

return str;

}console.log(strmodel(str))

// 列印結果如下

[running] node "f:\web全棧\js\tempcoderunnerfile.js"

hello~~長城軟體風風雨雨走過了40載

[done] exited with code=0 in 0.192 seconds

好了,到這裡就簡單實現了es6的模板字串的解析,你get到了嗎?

ES6模板字串

es6提供了模板字串使字串的拼接以及模板的編寫變得特別簡單,組合字串的時候不在需要加號單引號這些,直接使用一對反引號即可,而且字串中需要變數的時候直接 的這種方式,大括號裡面可以是任何的js表示式,變數,物件的屬性,還可以是乙個函式,模板字串還可以進行巢狀。const person lili con...

es6 模板字串

模板字串 反引號表示 是增強版的字串,可以用作普通字串,也可以使用多行字串,也可以巢狀使用 1 this is a string 2 this is a string 3 let n a this is string 在模板字串中輸出多行字串的時候,會按照書寫的格式進行輸出,字元之間的空格和縮排都會...

es6模板字串

es6新增的建立字串的方式,使用反引號定義 let str 模板字串 console.log str 特點 可以解析變數。將變數放於 中 let val 123 let str2 模板字串 console.log str2 現在在模板字串的字串換行書寫,同時顯示也會進而換行顯示 let obj le...