欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年04月01日 09:58:58   作者:劉哇勇  
這篇文章主要介紹了ES6(ECMAScript 6)新特性之模板字符串用法,簡單介紹了ES6模板字符串的概念、功能并結(jié)合實(shí)例形式分析了ES6模板字符串的用法,需要的朋友可以參考下

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

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

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

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

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

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

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

到目前為止,我們所了解到的僅僅是比+運(yùn)算符更優(yōu)雅的語法,下面是你可能期待的一些特性細(xì)節(jié):

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

如果這兩個(gè)值都不是字符串,可以按照常規(guī)將其轉(zhuǎn)換為字符串。例如:如果action是一個(gè)對象,將會(huì)調(diào)用它的.toString()方法將其轉(zhuǎn)換為字符串值。

如果你需要在模板字符串中書寫反撇號(hào),你必須使用反斜杠將其轉(zhuǎn)義:`\``等價(jià)于"`"。

同樣地,如果你需要在模板字符串中引入字符$和{。無論你要實(shí)現(xiàn)什么樣的目標(biāo),你都需要用反斜杠轉(zhuǎn)義每一個(gè)字符:`$`和`\{`。

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

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

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

希望本文所述對大家ECMAScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • jfinal與bootstrap的登錄跳轉(zhuǎn)實(shí)戰(zhàn)演習(xí)

    jfinal與bootstrap的登錄跳轉(zhuǎn)實(shí)戰(zhàn)演習(xí)

    這篇文章給大家分享jfinal與bootstrap之間的登錄跳轉(zhuǎn),具體內(nèi)容包含有點(diǎn)擊登錄彈出模態(tài)框、點(diǎn)擊登錄確認(rèn)按鈕后的validate、jfinal的validate、jfinal的session管理、ajax請求與返回信息處理、頁面間智能跳轉(zhuǎn)。感興趣的朋友跟著小編一起看看吧
    2015-09-09
  • 推薦幾個(gè)不錯(cuò)的console調(diào)試技巧實(shí)現(xiàn)

    推薦幾個(gè)不錯(cuò)的console調(diào)試技巧實(shí)現(xiàn)

    這篇文章主要介紹了推薦幾個(gè)不錯(cuò)的console調(diào)試技巧實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 微信小程序下拉框搜索功能的實(shí)現(xiàn)方法

    微信小程序下拉框搜索功能的實(shí)現(xiàn)方法

    這篇文章主要介紹了微信小程序下拉框搜索功能的實(shí)現(xiàn)方法,內(nèi)容比較簡單容易理解 ,需要的朋友可以參考下
    2019-07-07
  • 微信小程序webview中監(jiān)聽返回按鈕實(shí)現(xiàn)步驟

    微信小程序webview中監(jiān)聽返回按鈕實(shí)現(xiàn)步驟

    在微信小程序中webview返回鍵是一個(gè)非常實(shí)用的功能,它允許用戶在嵌入的網(wǎng)頁中返回到上一個(gè)頁面,這篇文章主要給大家介紹了微信小程序webview中監(jiān)聽返回按鈕的實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2024-08-08
  • 如何讓DIV可編輯、可拖動(dòng)示例代碼

    如何讓DIV可編輯、可拖動(dòng)示例代碼

    DIV是一個(gè)盒子模型通俗說就是一個(gè)容器,在布局過程中經(jīng)常會(huì)使用到這個(gè)標(biāo)簽,在本文大家將學(xué)會(huì)如何讓DIV可編輯、可拖動(dòng),感興趣的朋友可以參考下,希望對大家有所幫助
    2013-09-09
  • JS基于面向?qū)ο髮?shí)現(xiàn)的選項(xiàng)卡效果示例

    JS基于面向?qū)ο髮?shí)現(xiàn)的選項(xiàng)卡效果示例

    這篇文章主要介紹了JS基于面向?qū)ο髮?shí)現(xiàn)的選項(xiàng)卡效果,結(jié)合實(shí)例形式分析了javascript基于面向?qū)ο蠹夹g(shù)動(dòng)態(tài)操作頁面元素的流程與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-12-12
  • Openlayers測量距離與面積的實(shí)現(xiàn)方法

    Openlayers測量距離與面積的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Openlayers測量距離與面積的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • JavaScript折半查找(二分查找)算法原理與實(shí)現(xiàn)方法示例

    JavaScript折半查找(二分查找)算法原理與實(shí)現(xiàn)方法示例

    這篇文章主要介紹了JavaScript折半查找(二分查找)算法原理與實(shí)現(xiàn)方法,結(jié)合具體問題描述了折半查找算法的原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • vue iView 上傳組件之手動(dòng)上傳功能

    vue iView 上傳組件之手動(dòng)上傳功能

    iView 主要服務(wù)于 PC 界面的中后臺(tái)業(yè)務(wù),是一套高質(zhì)量的開源 UI 組件庫。這篇文章主要介紹了iView 上傳組件之手動(dòng)上傳功能,需要的朋友可以參考下
    2018-03-03
  • JavaScript 數(shù)組的進(jìn)化與性能分析

    JavaScript 數(shù)組的進(jìn)化與性能分析

    這篇文章主要介紹了JavaScript 數(shù)組的進(jìn)化與性能分析,本文講得更多的是內(nèi)存、優(yōu)化、語法差異、性能、近來的演進(jìn)。需要的朋友可以參考下
    2017-09-09

最新評論