国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

ES6(ECMAScript 6)新特性之模板字符串用法分析

2024-05-06 15:19:01
字體:
來源:轉載
供稿:網友

本文實例講述了ES6(ECMAScript 6)新特性之模板字符串用法。分享給大家供大家參考,具體如下:

ES6引入了一種新型的字符串字面量語法,我們稱之為模板字符串(template strings)。除了使用反撇號字符 ` 代替普通字符串的引號 ' 或 " 外,它們看起來與普通字符串并無二致。在最簡單的情況下,它們與普通字符串的表現一致:

context.fillText(`Ceci n'est pas une cha?ne.`, x, y);

但我們不能說:“原來只是被反撇號括起來的普通字符串啊”。模板字符串為JavaScript提供了簡單的字符串插值功能,從此以后,你可以通過一種更加美觀、更加方便的方式向字符串中插值了。這在Java和C#中早已經有了,不用再用 + 符號連接字符串,用起來很方便~

模板字符串的使用方式成千上萬,但最讓我暖心的是將其應用于毫不起眼的錯誤消息提示:

function authorize(user, action) {  if (!user.hasPrivilege(action)) {    throw new Error(    `用戶 ${user.name} 未被授權執行 ${action} 操作。`);  }}

在這個示例中,${user.name}${action} 被稱為模板占位符,JavaScript將把user.name和action的值插入到最終生成的字符串中,例如:用戶jorendorff未被授權打冰球。(這是真的,我還沒有獲得冰球許可證。)

到目前為止,我們所了解到的僅僅是比+運算符更優雅的語法,下面是你可能期待的一些特性細節:

模板占位符中的代碼可以是任意JavaScript表達式,所以函數調用、算數運算等這些都可以作為占位符使用,你甚至可以在一個模板字符串中嵌套另一個,我稱之為模板套構(template inception)。

如果這兩個值都不是字符串,可以按照常規將其轉換為字符串。例如:如果action是一個對象,將會調用它的.toString()方法將其轉換為字符串值。

如果你需要在模板字符串中書寫反撇號,你必須使用反斜杠將其轉義:`/``等價于"`"。

同樣地,如果你需要在模板字符串中引入字符$和{。無論你要實現什么樣的目標,你都需要用反斜杠轉義每一個字符:`$`和`/{`。

與普通字符串不同的是,模板字符串可以多行書寫:

$("#warning").html(`  <h1>小心!>/h1>  <p>未經授權打冰球可能受罰   將近${maxPenalty}分鐘。</p>`);

模板字符串中所有的空格、新行、縮進,都會原樣輸出在生成的字符串中。

希望本文所述對大家ECMAScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 西丰县| 开封市| 宿迁市| 临夏县| 永川市| 大冶市| 黔江区| 阿拉善左旗| 合作市| 杭锦后旗| 滨海县| 邹平县| 冕宁县| 平舆县| 锡林浩特市| 浦江县| 青冈县| 攀枝花市| 芒康县| 镇原县| 宜都市| 仁寿县| 师宗县| 青铜峡市| 泸定县| 新昌县| 融水| 托里县| 克东县| 天津市| 广汉市| 达日县| 古丈县| 高平市| 河西区| 沙坪坝区| 汽车| 惠东县| 满洲里市| 泊头市| 澄迈县|