假設我有一個像"${a + b}"
這樣的字符串,比如說從JSON讀取,我想將其解釋爲ES6模板文本。我覺得這樣的事情可能工作:在ES6中將字符串轉換爲模板文字
var x = {"add": "${a + b}"};
var a = 10, b = 20;
alert(`${x.add}`);
但這提醒如${a + b}
,所以它只是做替代的一個水平。
試圖通過重新解釋它是聰明的:
var a = 10, b = 20;
var x = {"add": "${a + b}"};
var i = `${x.add}`;
alert(`${i}`);
這仍然提醒如${a + b}
。
嘗試是更聰明:
var a = 10, b = 20;
var x = {"add": "${a} + ${b}"};
var i = `${x.add}`;
alert(`${i}`);
此警報爲${a} + ${b}
。
從一個字符串開始,例如"${a + b}"
,有沒有什麼辦法讓這個評估完成,就好像它是一個模板文字?理想情況下沒有eval
!
他們的模板*文字*,不是模板字符串。確實,如果你不使用標籤功能,他們最終會創建字符串(但如果你使用標籤功能,他們可能不會)。 –
@ T.J.Crowder - 清理了一下。希望現在的措辭更好。 –