在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...