溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ES6中模板字符串的使用方法

發(fā)布時間:2020-10-12 15:12:35 來源:億速云 閱讀:290 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)ES6中模板字符串的使用方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

概述

模板字符串出來以后,單引號、雙引號哪個好的爭論可以退出歷史舞臺的,模板字符串的`最好!

語法

單行文本

`string text`

多行文本

`string text line 1
 string text line 2`

內(nèi)嵌表達式

`string text ${expression} string text`

標簽語法(不太喜歡)

tag `string text ${expression} string text`

單行文本

完全不 care 單引號和雙引號,當(dāng)然,轉(zhuǎn)義`是不可避免的,有所得必有所失去嘛

let single=`string text, '' ""\`` // "string text, '' ""`"

多行文本,也不用關(guān)系換行的編碼轉(zhuǎn)化問題了,\n也可以走開了

let multip=`string text line 1
 string text line 2`
 // "string text line 1
 //  string text line 2"
所以我們可以這么寫代碼
"
let dom=`
    我要換行
    我還要換行
`
"
雖然好像沒什么卵用

表達式

這是模板字符串最大的作用了,有好極大好處呢

更強的閱讀性和更不容易錯的字符串拼接

let name='jack',age=23
let summary=`my name is ${name}, age is ${age}`
console.log(summary) // "my name is jack, age is 23"

對比一下之前的字符串拼接

let name='jack',age=23
let summary='my name is ' + name + ', age is ' + age
console.log(summary) // "my name is jack, age is 23"

可以內(nèi)嵌表達式,表達式也可以很復(fù)雜,但是不推薦

let num1 = 1, num2 = 2
`${num1} + ${num2} = ${num1 + num2}` // '1 + 2 = 3'

模板字符串嵌套

let inner=`${`${'1'}`}` // 1

標簽語法

我不太喜歡這個特性

function myTag(strings, personExp, ageExp) {
  var str0 = strings[0]; // "that "
  var str1 = strings[1]; // " is a "
  var str2 = strings[2]; // " "
  var ageStr;
  if (ageExp > 99){
    ageStr = 'centenarian';
  } else {
    ageStr = 'youngster';
  }
  return str0 + personExp + str1 + ageStr;
}
var output = myTag`that ${ 'Mike' } is a ${ '22' }`;
console.log(output);// that Mike is a youngster

原始字符串

標簽函數(shù)的第一個參數(shù)strings.raw儲存著原始字符串,未經(jīng)轉(zhuǎn)義

function tag(strings) {
  console.log(strings.raw[0]);
}
tag`string text line 1 \n string text line 2`; // "string text line 1 \n string text line 2"

使用String.raw()也是一樣的效果,\n是兩個字符。

var str = String.raw`Hi\n${2+3}!`;
// "Hi\n5!"
str.length;
// 6
str.split('').join(',');
// "H,i,\,n,5,!"

babel轉(zhuǎn)義

源碼

let name="jack",age=23
let summary=`my name is ${name}, age is ${age}`

翻譯后

var name = "jack",
    age = 23;
var summary = "my name is " + name + ", age is " + age;

感謝各位的閱讀!關(guān)于ES6中模板字符串的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI