JavaScript 模板字面量
JavaScript的字串功能與其他程式語言相比要孱弱很多。
比如ES5並不具有多行字串或者字串格式化等功能,ES2015通過模板字面對其進行了加強。
特別說明:模板字面量在早期的ES2015版本被稱作模板字串,這一點注意下。
一.ES5字串:
在此版本中,可以通過雙引號或者單引號建立字串,不能實現字串換行或者格式化等操作。
字串的拼接等操作稍顯繁瑣,看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var webName="螞蟻部落"; var age=5; var str="網站名稱是"+webName+",已經"+age+"歲了"; console.log(str);
上面程式碼通過雙引號建立字串,並且進行了字串拼接操作。
通過+運算子實現字串拼接操作,如果程式碼複雜,那麼將非常繁瑣。
二.模板字面量概念:
模板字面量是ES2015新增,通過反引號定義,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let web=`本站url地址是www.softwhy.com`; let webName=`螞蟻部落\``; console.log(web); console.log(webName);
上述程式碼定義一個模板字面量,將將其列印出來,如果想要在列印出反引號,則需要使用轉義字元。
此時和普通字串表現無異,前面已經提到過,模板字面是原有普通字串的加強,新增很多強力功能。
後面會分步通過程式碼例項對模板字串的主要功能進行詳細介紹,希望能夠給需要的朋友帶來幫助。
三.多行字串:
ES5實現多行字串稍微麻煩一些,必須通過換行符\n,看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let web="本站url地址是\nwww.softwhy.com"; console.log(web);
程式碼執行效果截圖如下:
通過在字串中插入換行符實現了字串的換行效果,使用模板字面量一切都很輕鬆。
上述程式碼修改如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let web=`本站url地址是 www.softwhy.com`; console.log(web);
程式碼執行效果截圖如下:
使用反引號建立一個模板字面量,直接在程式碼中換行即可實現字串的換行操作。
還需要注意的是,模板字面量中的所有空格都會被算作最終字串的一部分。
關於多行字串的更多內容可以參閱JavaScript 多行字串一章節。
四.${}佔位符:
可以直接在模板字面量中插入佔位符${}。
佔位符就如同一個普通字串一樣,可以插入到字串中的任意位置。
大括號中可以是任何合法的表示式,並返回此表示式的值,通過佔位符可以實現靈活的拼接操作。
將前面用到過的程式碼例項修改如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let webName="螞蟻部落"; let age=5; let str=`網站名稱是${webName},已經${age}歲了`; console.log(str);
程式碼執行效果截圖如下:
上述程式碼實現了輕鬆的字串拼接操作,遠比使用+更為簡單人性。
大括號中可以是任意合法表示式,所以大括號中的內容可以更為複雜一些。
對佔位符本文不做更多介紹,關於此概念更多內容參閱JavaScript ${} 佔位符一章節。
五.模板字面量其他內容:
除了前面介紹的關於模板字面量的內容之外,還有幾個很重要的概念需要介紹。
但是考慮到文章的篇幅文字,後面不再做介紹,可以參閱下面給出的相關內容的文章連結:
(1).關於模板標籤可以參閱JavaScript 模板標籤一章節。
(2).String.raw方法可以參閱JavaScript String.raw()一章節。
相關文章
- JavaScript 模板字面量標籤JavaScript
- JavaScript 反引號模板字面量巢狀JavaScript巢狀
- TypeScript 之模板字面量型別TypeScript型別
- JavaScript 物件字面量(object literal)JavaScript物件Object
- JavaScript十六進位制和八進位制字面量JavaScript
- TypeScript 字面量型別TypeScript型別
- Swift 字面量講解Swift
- TypeScript 字串字面量型別TypeScript字串型別
- TypeScript 官方手冊翻譯計劃【十一】:型別操控-模板字面量型別TypeScript型別
- 關鍵字,保留字,字面量
- js學習日記-物件字面量JS物件
- TypeScript 中的字面量是什麼意思TypeScript
- 理解 Go 語言中的組合字面量(Composite Literal)Go
- JS語言精粹學習筆記--物件字面量JS筆記物件
- 要點1:指標、陣列和複合字面量指標陣列
- 手擼 JavaScript 模板引擎JavaScript
- Go語言的識別符號、關鍵字、字面量、型別Go符號型別
- JS:關於JS字面量及其容易忽略的12個小問題JS
- 03@多用字面量語法,少用與之等價的方法
- javascript的簡單模板替換JavaScript
- JavaScript 有趣的冷知識:模板字串JavaScript字串
- [譯] 只有 20 行的 JavaScript 模板引擎JavaScript
- 00 字面意思理解反射 案例反射
- JavaScript 物件直接量JavaScript物件
- ABAP,Java,JavaScript裡的字串模板String TemplateJavaScript字串
- 利用模板將HTML從JavaScript中抽離HTMLJavaScript
- javascript設計模式 之 8 模板方法模式JavaScript設計模式
- 編寫一個簡單的JavaScript模板引擎JavaScript
- 逆序對的數量(歸併排序模板)排序
- 高階函式與標籤函式,解構賦值與物件字面量的簡化學習函式賦值物件
- JavaScript--元素偏移量(offset)JavaScript
- JavaScript 差量更新的實現JavaScript
- TS資料型別:型別別名/聯合型別/字面量型別/型別推論等綱要資料型別
- C++ 字串字面值和 string 不是同一型別C++字串型別
- 《Effective JavaScript 編寫高質量JavaScript程式碼的68個有效方法》JavaScript
- 不用正規表示式,用javascript從零寫一個模板引擎(一)JavaScript
- 《JavaScript設計模式與開發實踐》模式篇(8)—— 模板方法模式JavaScript設計模式
- Blade 模板,輸出 PHP 變數到 JavaScript 指令碼中的正確方式PHP變數JavaScript指令碼