首頁 > web前端 > js教程 > 主體

ES6中範本字串用法介紹(附範例)

不言
發布: 2018-11-14 15:49:56
轉載
2470 人瀏覽過

這篇文章帶給大家的內容是關於ES6中模板字串用法介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

概述

模板字串出來以後,單引號、雙引號哪個好的論點可以退出歷史舞台的,模板字串的`最好!

語法

單行文字

`string text`
登入後複製

多行文字

`string text line 1
 string text line 2`
登入後複製

內嵌表達式

`string text ${expression} string text`
登入後複製

標籤語法(不太喜歡)

tag `string text ${expression} string text`
登入後複製

單行文字

完全不care 單引號和雙引號,當然,轉義`是不可避免的,有所得必有所失去嘛

let single=`string text, '' ""\`` // "string text, '' ""`"
登入後複製

多行文本,也不用關係換行的編碼轉換問題了,\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"
登入後複製

可以內嵌表達式,表達式也可以很複雜,但不推薦

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
登入後複製

原始字串

標籤函數的第一個參數strings.raw儲存原始字串,未經轉義

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轉義

源碼

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;
登入後複製

以上是ES6中範本字串用法介紹(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板