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
- python三引號巢狀雙引號執行結果不對Python巢狀
- TypeScript 之模板字面量型別TypeScript型別
- JavaScript 物件字面量(object literal)JavaScript物件Object
- JavaScript匿名函式要外面巢狀小括號原因JavaScript函式巢狀
- PbootCMS模板檔案巢狀引用boot巢狀
- Golang的單引號、雙引號與反引號Golang
- JavaScript中if巢狀assert的方法JavaScript巢狀
- JavaScript巢狀物件的全新方式JavaScript巢狀物件
- linux bash中的引號:單雙引號、反撇號Linux
- JavaScript十六進位制和八進位制字面量JavaScript
- python使用引數對巢狀字典進行取值Python巢狀
- Swift 字面量講解Swift
- TypeScript 字面量型別TypeScript型別
- 函式的動態引數 及函式巢狀函式巢狀
- mysql建立表時反引號的作用MySql
- TypeScript 字串字面量型別TypeScript字串型別
- Go語言的識別符號、關鍵字、字面量、型別Go符號型別
- TypeScript 官方手冊翻譯計劃【十一】:型別操控-模板字面量型別TypeScript型別
- 列表巢狀操作巢狀
- vue路由巢狀Vue路由巢狀
- JavaScript 非同步操作裡的巢狀回撥函式JavaScript非同步巢狀函式
- 關鍵字,保留字,字面量
- Vue案例引發的「巢狀元件」通訊的簡單方式Vue巢狀元件
- SCSS 巢狀屬性CSS巢狀
- SCSS 巢狀規則CSS巢狀
- 展開巢狀列表巢狀
- Locust 任務巢狀巢狀
- Oracle 巢狀表(轉)Oracle巢狀
- 巢狀類遞迴巢狀遞迴
- vue(19)巢狀路由Vue巢狀路由
- 巢狀子查詢巢狀
- Blazor巢狀傳遞Blazor巢狀
- MySQL Join原理分析(緩衝塊巢狀與索引巢狀迴圈)MySql巢狀索引
- js學習日記-物件字面量JS物件
- post-css/less/sass樣式巢狀與命令之"&"符號—BEMCSS巢狀符號