模板字串和標籤函式

2021-10-08 12:28:57 字數 1403 閱讀 7672

在es5中定義字串要通過』 '或者" "來表示字串,而在es6之後新增了模板字串的方式來表示字串,通過反引號來標識。

const es5 =

'i am string'

const es6 =

`i also string`

傳統的方式裡面如果要換行,需要通過\n來表示,而模板字串可以支援換行。同時還支援通過插值表示式的方式去定義變數。

const name =

'tom'

const

=`hey,$`

// hey,tom

在定義字串之前我們可以新增標籤,例1中的**中的conslo.log就是標籤。

例一

//通過這種方式會列印乙個陣列[`hello world`]

const str = console.log`hello world`

那麼為什麼列印的是陣列?而陣列又是如何存放模板字串的內容?下面例二中我們將對這個機制進行研究。

例二

const name  =

'tom'

const gender =

true

//使用標籤函式前必須先定義這個標籤函式

function

mytagfunc

(strings,name,gender)

const result = mytagfunc`hey,

$is a $.`

//這個時候result就是接收對模板字串進行標籤函式處理的返回值。

console.

log(result)

//123

因為在模板字串中可能會有嵌入的表示式,所以我們這裡的陣列是按照表示式分割過後靜態的內容,除了這個陣列以外,這個標籤函式還可以接收到表示式內部的值 。

總而言之,標籤函式就是對模板字串進行加工返回結果

//假設這是乙個錯誤訊息

const message =

`error: foo is not defined`

console.

log(message.

startswith

('error'))

//true

console.

log(message.

endswith

('.'))

//true

console.

log(message.

includes

('foo'))

//true

箭頭函式和模板字串

箭頭函式的幾種方式 1.返回值 functionfn letfn 2 箭頭函式 console.log fn 2.形參 返回值 let fn2 num num 2 console.log fn2 10 3.形參,形參 返回值 let fn3 a,b a b console.log fn3 2,5 沒...

python 字串模板和內建函式

from string import template s template hi,name name is learning language print s.substitute name wilber language python 用 表示 符號 s template this book b...

字串和字串函式

字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...