簡體   English   中英

在IE以外的其他瀏覽器上工作的模板文字

[英]Template literals working on other browser except IE

我正在使用javascript並使用“模板文字”,該模板可在Chrome和Firefox上使用,但不能在Internet Explorer(IE)上使用。

 var a = 10; console.log(`${a}`) 

模板文字是ES6,而IE支持的ES6功能很少 它不支持模板文字。

對於您正在執行的操作,只需執行console.log(a)

 var a = 10; console.log(a) 

但是,如果實際代碼比這更復雜,則要么必須手動進行連接,例如:

`foo${somevar}bar${somevar2}baz`

改成

'foo' + somevar + 'bar' + somevar2 + 'baz'

或者,一個更好的選擇,如果你喜歡的模板文字的語法,不喜歡純字符串連接,將通天集成到您的構建過程transpile ES6 +語法(包括模板文本) 自動 ES5:

https://babeljs.io/repl/

(Babel不僅將轉換模板文字,還將將幾乎所有較新的語法轉換為ES5,例如解構,箭頭功能, async / await等-對於較大的代碼庫,這非常重要,允許程序員編寫語言的最新和最佳版本,同時仍與IE等舊版瀏覽器兼容)

另一個選擇是,如果您已經在使用lodash切換到其_.template函數,則該函數不僅可以模板化文字功能,而且還具有wide browser support

 var compiled = _.template('hello ${ user }!'); console.log(compiled({ 'user': 'pebbles' })); // => 'hello pebbles!' 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM