摘要:模板字符串連接符在之前,將字符串連接到一起的舊方法是使用字符串連接運(yùn)算符。這樣更容易構(gòu)建字符串。返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。它針對(duì)前個(gè)字符,而其他兩個(gè)方法針對(duì)從第個(gè)位置直到字符串結(jié)束。
模板字符串 + 連接符
在 ES6 之前,將字符串連接到一起的舊方法是使用字符串連接運(yùn)算符 (+)。
const student = { name: "Richard Kalehoff", guardian: "Mr. Kalehoff" }; const teacher = { name: "Mrs. Wilson", room: "N231" } let message = student.name + " please see " + teacher.name + " in " + teacher.room + " to pick up your report card."; //Returns:Richard Kalehoff please see Mrs. Wilson in N231 to pick up your report card.
上述代碼能正常運(yùn)行,但是當(dāng)你需要連接多行字符串時(shí),就變得更復(fù)雜。
let note = teacher.name + ", " + "Please excuse " + student.name + ". " + "He is recovering from the flu. " + "Thank you, " + student.guardian;
但是,在引入模板字面量(之前在 ES6 的開(kāi)發(fā)版本中稱(chēng)為“模板字符串”)之后,這一切有了改變。
注意: 作為字符串連接運(yùn)算符 ( + ) 的替代方法,你可以使用字符串的 concat() 方法。但是這兩種方式都比較笨拙,無(wú)法模擬真正的字符串插值。模板字面量
模板字面量本質(zhì)上是包含嵌入式表達(dá)式的字符串字面量。
模板字面量用反引號(hào)表示,可以包含用 ${expression} 表示的占位符。這樣更容易構(gòu)建字符串。
下面是之前的示例使用模板字面量表示后的效果:
let message = `${student.name} please see ${teacher.name} in ${teacher.room} to pick up your report card.`;
通過(guò)使用模板字面量,你不用再使用引號(hào)和字符串連接運(yùn)算符。此外,你可以在表達(dá)式內(nèi)引用對(duì)象的屬性。
...那之前的多行示例該怎么辦呢?
let note = `${teacher.name}, Please excuse ${student.name}. He is recovering from the flu. Thank you ${student.guardian}`;
這是模板字面量的真正強(qiáng)大之處。在上述代碼中,去掉了引號(hào)和字符串連接運(yùn)算符,以及換行符 ( )。這是因?yàn)槟0遄置媪恳矊Q行符當(dāng)做字符串的一部分!
提示:模板字面量中的嵌入式表達(dá)式不僅僅可以用來(lái)引用變量。你可以在嵌入式表達(dá)式中進(jìn)行運(yùn)算、調(diào)用函數(shù)和使用循環(huán)!includes(), startsWith(), endsWith()
傳統(tǒng)上,JavaScript 只有indexOf方法,可以用來(lái)確定一個(gè)字符串是否包含在另一個(gè)字符串中。ES6 又提供了三種新方法。
includes():返回布爾值,表示是否找到了參數(shù)字符串。
startsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。
endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部。
let s = "Hello world!"; s.startsWith("Hello") // true s.endsWith("!") // true s.includes("o") // true
這三個(gè)方法都支持第二個(gè)參數(shù),表示開(kāi)始搜索的位置。
let s = "Hello world!"; s.startsWith("world", 6) // true s.endsWith("Hello", 5) // true s.includes("Hello", 6) // false
上面代碼表示,使用第二個(gè)參數(shù)n時(shí),endsWith的行為與其他兩個(gè)方法有所不同。它針對(duì)前n個(gè)字符,而其他兩個(gè)方法針對(duì)從第n個(gè)位置直到字符串結(jié)束。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/90563.html
摘要:方法的第一個(gè)參數(shù)是目標(biāo)對(duì)象,后面的參數(shù)都是源對(duì)象。這個(gè)對(duì)象的任何變化,都會(huì)反映到目標(biāo)對(duì)象上面。方法將和合并成一個(gè)新對(duì)象,如果兩者有同名屬性,則的屬性值會(huì)覆蓋的屬性值。否則,對(duì)象的該屬性很可能不起作用。 對(duì)象字面量簡(jiǎn)寫(xiě)法 你可能寫(xiě)過(guò)這樣的代碼:使用和所分配的變量名稱(chēng)相同的名稱(chēng)初始化對(duì)象。 let type = quartz; let color = rose; let carat = 2...
摘要:它是一個(gè)通用標(biāo)準(zhǔn),奠定了的基本語(yǔ)法。年月發(fā)布了的第一個(gè)版本,正式名稱(chēng)就是標(biāo)準(zhǔn)簡(jiǎn)稱(chēng)。結(jié)語(yǔ)的基本擴(kuò)展還有一些沒(méi)有在這里詳細(xì)介紹。 前言 ES6標(biāo)準(zhǔn)以及頒布兩年了,但是,好像還沒(méi)有完全走進(jìn)我們的日常開(kāi)發(fā)。這篇文章從ES6的基本類(lèi)型擴(kuò)展入手,逐步展開(kāi)對(duì)ES6的介紹。 ECMAScript和JavaScript JavaScript是由Netscape創(chuàng)造的,該公司1996年11月將JavaSc...
摘要:函數(shù)的擴(kuò)展函數(shù)參數(shù)的默認(rèn)值之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。箭頭函數(shù)引入了一種新的函數(shù),叫做箭頭函數(shù)。箭頭函數(shù)和普通函數(shù)的行為非常相似,但是在語(yǔ)法構(gòu)成上非常不同。意味著函數(shù)內(nèi)的的值是全局對(duì)象,不是對(duì)象。 函數(shù)的擴(kuò)展 函數(shù)參數(shù)的默認(rèn)值 ES6 之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采用變通的方法。 function log(x, y) { y = y ||...
摘要:在語(yǔ)法中,操作符有兩種意義剩余語(yǔ)法,參數(shù)和展開(kāi)語(yǔ)法,展開(kāi)數(shù)組對(duì)象,作為函數(shù)數(shù)組對(duì)象的擴(kuò)展運(yùn)算符。使用和參數(shù)進(jìn)行操作其余參數(shù)傳給原始函數(shù)展開(kāi)語(yǔ)法運(yùn)算則可以看作是參數(shù)的逆運(yùn)算。 在ES6語(yǔ)法中,...操作符有兩種意義:rest(剩余語(yǔ)法,rest參數(shù)) 和 spread(展開(kāi)語(yǔ)法,展開(kāi)數(shù)組/對(duì)象),作為函數(shù)、數(shù)組、對(duì)象的擴(kuò)展運(yùn)算符。 從某種意義上說(shuō),剩余語(yǔ)法與展開(kāi)語(yǔ)法是相反的:剩余語(yǔ)法將多...
摘要:結(jié)合工作中使用情況,簡(jiǎn)單對(duì)進(jìn)行一些復(fù)習(xí)總結(jié),包括常用的語(yǔ)法,等,以及短時(shí)間內(nèi)要上手需要重點(diǎn)學(xué)習(xí)的知識(shí)點(diǎn)不同工作環(huán)境可能有一些差別,主要參考鏈接是阮一峰的博客以及外文博客阮老師大部分文章是直接翻譯的這個(gè)博客簡(jiǎn)介先說(shuō)一下,是一個(gè)標(biāo)準(zhǔn)化組織,他們 結(jié)合工作中使用情況,簡(jiǎn)單對(duì)es6進(jìn)行一些復(fù)習(xí)總結(jié),包括常用的語(yǔ)法,api等,以及短時(shí)間內(nèi)要上手需要重點(diǎn)學(xué)習(xí)的知識(shí)點(diǎn)(不同工作環(huán)境可能有一些差別),...
閱讀 2079·2021-11-22 19:20
閱讀 2735·2021-11-22 13:54
閱讀 2150·2021-09-04 16:40
閱讀 1895·2021-08-13 11:54
閱讀 2812·2019-08-30 15:55
閱讀 3533·2019-08-29 13:51
閱讀 590·2019-08-29 11:09
閱讀 3082·2019-08-26 14:06