JavaScript 反引號模板字面量巢狀
JavaScript字串功能與其他程式語言相比功能比較弱,沒有換行和佔位符或者格式化等功能。
ES2015新增的模板字面量對JavaScript字串功能給予很大的提升,算是加強版本的字串。
原來普通字串物件屬性與方法模板字面量都可以正常使用,具體參閱JavaScript String 字串一章節。
本文通過程式碼例項介紹一下模板字面量之間的相互巢狀,可能這個知識點會被初學者忽略。
通過反單引號可以建立模板字面,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let webName="螞蟻部落"; let age=5; let str=`網站名稱是${webName},已經${webName}歲了`; console.log(str);
通過反單引號建立一個模板字面量,模板字面量中可以插入${}站位符。
佔位符中可以是任意合法的JavaScript表示式,返回該表示式的值,與兩側字串拼接起來。
更多關於模板字面的知識可以參閱JavaScript 模板字面量一章節。
更多關於佔位符的知識可以參閱JavaScript ${}佔位符用法一章節。
其實模板字串中,還可以繼續巢狀模板字串,當然需要有一定的條件。
對於巢狀可能有兩種理解,一種是要列印出反引號,看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let str=`\`需要在前面加反斜槓才能輸出`; console.log(str);
程式碼執行效果截圖如下:
上述程式碼能夠列印出反單引號,不要需要進行轉義,這也算是巢狀的一種理解。
本文索要介紹的反引號巢狀並不是上面這種,而是模板字面量中巢狀另一個模板字面量。
也就是說不是簡單要列印出反單引號,而是讓其保持模板字面量一切功能,看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let webName="baidu"; let bigCompany=false; let str=`${ bigCompany ? "螞蟻部落" :`${webName}`}`; console.log(str);
上面程式碼只是一個隨意演示,沒有特別的用途,程式碼執行效果截圖如下:
程式碼分析如下:
(1).最外層是一個模板字串,裡面通過${}佔位符進行一個邏輯判斷操作。
(2).佔位符中,又巢狀了另一個模板字面量,此模板模板字面量與其他模板字面量功能完全相同。
也就是隻需在模板內的佔位符 ${ } 內使用它們,就可以很輕鬆的實現模板字面量的巢狀功能。
對巢狀簡單進行一下總結:
(1).內部巢狀的模板字面量必須存在於${}佔位符中。
(2).巢狀的模板字面量功能與非巢狀模板字面量完全一樣。
相關文章
- JavaScript 模板字面量JavaScript
- JavaScript字串引號巢狀JavaScript字串巢狀
- JavaScript 模板字面量標籤JavaScript
- JavaScript物件字面量屬性加不加引號的區別JavaScript物件
- js如何在引號中巢狀使用引號JS巢狀
- js中如何在引號中巢狀引號JS巢狀
- TypeScript 之模板字面量型別TypeScript型別
- python三引號巢狀雙引號執行結果不對Python巢狀
- JavaScript 物件字面量(object literal)JavaScript物件Object
- JavaScript匿名函式要外面巢狀小括號原因JavaScript函式巢狀
- javascript中字面量是什麼意思JavaScript
- linux 單引號,雙引號,反引號Linux
- shell中單引號、雙引號、反引號、反斜槓的區別
- Golang的單引號、雙引號與反引號Golang
- mysql反引號和引號的用法MySql
- JavaScript中if巢狀assert的方法JavaScript巢狀
- Linux Shell 中的反引號,單引號,雙引號Linux
- JavaScript巢狀物件的全新方式JavaScript巢狀物件
- 為什麼我要說 JavaScript 物件字面量很酷?JavaScript物件
- shell 指令碼中雙引號、單引號、反引號的區別指令碼
- linux bash中的引號:單雙引號、反撇號Linux
- JavaScript十六進位制和八進位制字面量JavaScript
- Swift 字面量講解Swift
- TypeScript 字面量型別TypeScript型別
- 使用VS2008的頁面巢狀模板巢狀
- TypeScript 字串字面量型別TypeScript字串型別
- less巢狀巢狀
- Datalist巢狀巢狀
- Go語言的識別符號、關鍵字、字面量、型別Go符號型別
- TypeScript 官方手冊翻譯計劃【十一】:型別操控-模板字面量型別TypeScript型別
- python使用引數對巢狀字典進行取值Python巢狀
- 函式的動態引數 及函式巢狀函式巢狀
- mysql建立表時反引號的作用MySql
- lisp 裡的 ,@ 反引號 的解釋Lisp
- 集合框架-集合的巢狀遍歷(HashMap巢狀HashMap)框架巢狀HashMap
- 集合框架-集合的巢狀遍歷(HashMap巢狀ArrayList)框架巢狀HashMap
- 集合框架-集合的巢狀遍歷(ArrayList巢狀HashMap)框架巢狀HashMap
- 集合框架-集合的巢狀遍歷(多層巢狀)框架巢狀