国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

深入理解ES6筆記(二)字符串和正則表達(dá)

TANKING / 3161人閱讀

摘要:主要知識(shí)點(diǎn)新增的字符串處理方法模板字面量以及正則表達(dá)式上的改動(dòng)深入理解筆記目錄字符串字符串是大原始數(shù)據(jù)類型。如果在字符串的結(jié)束部分檢測(cè)到指定文本,返回,否則返回。字符串內(nèi)插入反撇號(hào)的方式。

主要知識(shí)點(diǎn):新增的字符串處理方法、模板字面量以及正則表達(dá)式上的改動(dòng)

《深入理解ES6》筆記 目錄

字符串

字符串(String)是JavaScript6大原始數(shù)據(jù)類型。其他幾個(gè)分別是Boolean、Null、Undefined、Number、Symbol(es6新增)。

字符串類型在前端開(kāi)發(fā)者,是使用最頻繁的類型之一,網(wǎng)站上可見(jiàn)的各種文案,幾乎都是字符串類型的數(shù)據(jù)。我們經(jīng)常需要使用的操作無(wú)非是這么幾點(diǎn):讀取字符串、轉(zhuǎn)換字符串、清空字符串、拼接字符串、截取字符串。

在ES5中,字符串類型已經(jīng)有了非常豐富的應(yīng)用能力,那么,在ES6中,ECMA的專家們對(duì)字符串做了什么更新呢?

當(dāng)Unicode引入擴(kuò)展字符集之后,16位的字符已經(jīng)不足以滿足字符串的發(fā)展,所以才在ES6中更新了Unicode的支持。

我們看看ES6字符串新增的方法

UTF-16碼位:ES6強(qiáng)制使用UTF-16字符串編碼。關(guān)于UTF-16的解釋請(qǐng)自行百度了解。

codePointAt():該方法支持UTF-16,接受編碼單元的位置而非字符串位置作為參數(shù),返回與字符串中給定位置對(duì)應(yīng)的碼位,即一個(gè)整數(shù)值。

String.fromCodePoiont():作用與codePointAt相反,檢索字符串中某個(gè)字符的碼位,也可以根據(jù)指定的碼位生成一個(gè)字符。

normalize():提供Unicode的標(biāo)準(zhǔn)形式,接受一個(gè)可選的字符串參數(shù),指明應(yīng)用某種Unicode標(biāo)準(zhǔn)形式。

正則表達(dá)式

正則表達(dá)式u修飾符:當(dāng)給正則表達(dá)式添加u字符時(shí),它就從編碼單元操作模式切換為字符模式。

正則表達(dá)的y標(biāo)志:y 標(biāo)志影響正則表達(dá)式搜索時(shí)的粘連( sticky ) 屬性,它表示從正則表達(dá)式的 lastIndex 屬性值的位置開(kāi)始檢索字符串中的匹配字符。如果在該位置沒(méi)有匹配成功,那么正則表達(dá)式將停止檢索;

復(fù)制正則表達(dá)式:使用RegExp構(gòu)造器時(shí)允許使用第二個(gè)參數(shù),并且讓它覆蓋第一個(gè)參數(shù)中的標(biāo)志;
flag屬性:ES6 新增了 flags 屬性用于配合 source 屬性,讓標(biāo)志的獲取變得更容易。

其他新增的方法 字符串中的子串識(shí)別:

以前我們經(jīng)常使用indexOf()來(lái)檢測(cè)字符串中是否包含另外一段字符串。請(qǐng)輸入代碼

let t = "abcdefg"
if(t.indexOf("cde") > -1) {
  console.log(2)
}
//輸出2,因?yàn)閠字符串中包含cde字符串。

在ES6中,新增了3個(gè)新方法。每個(gè)方法都接收2個(gè)參數(shù),需要檢測(cè)的子字符串,以及開(kāi)始匹配的索引位置。

includes(str, index):如果在字符串中檢測(cè)到指定文本,返回true,否則false;如果不傳第二個(gè)參數(shù),默認(rèn)為0。

let t = "abcdefg"
if(t.includes("cde")) {
  console.log(2)
}
//true

startsWith(str, index):如果在字符串起始部分檢測(cè)到指定文本,返回true,否則返回false。如果不傳第二個(gè)參數(shù),默認(rèn)為0。

let t = "abcdefg"
if(t.startsWith("ab")) {
  console.log(2)
}
//true

endsWith(str, index):如果在字符串的結(jié)束部分檢測(cè)到指定文本,返回true,否則返回false。默認(rèn)為字符串末尾開(kāi)始查找。

如果你只是需要匹配字符串中是否包含某子字符串,那么推薦使用新增的方法,如果需要找到匹配字符串的位置,使用indexOf()。

repeat(number)

接收一個(gè)Number類型的數(shù)據(jù),返回一個(gè)重復(fù)N次的新字符串。即使這個(gè)字符串是空字符,也你能返回N個(gè)空字符的新字符串。

console.log("ba".repeat(3)) //bababa
模板字面量 基礎(chǔ)語(yǔ)法

以前,我們用單引號(hào)或雙引號(hào)表示字符串。

let a = "123" //單引號(hào)
let b = "123" //雙引號(hào)

現(xiàn)在,使用模板字面量反撇號(hào)``。在實(shí)際開(kāi)發(fā)中,這是經(jīng)常都要用到的方法。

let c = `123` //反撇號(hào)

在字符串中使用反撇號(hào),只需要加上轉(zhuǎn)義符。

let d = `12`3` //字符串內(nèi)插入反撇號(hào)的方式。
多行字符串

模板字面量為解決多行字符串的一系列問(wèn)題提供了一個(gè)非常好的機(jī)制。

如果不使用模板字面量,實(shí)現(xiàn)多行字符串,你可能會(huì)使用換行符。

let a = "123
456"
console.log(a) 
// 123
// 456

使用模板字面量,就可以非常簡(jiǎn)單的實(shí)現(xiàn)需求。

let a = `123
456
`
console.log(a)
// 123
// 456
在模板字面量插入變量的方法(字符串占位符)

我們不再需要使用 +(加號(hào))來(lái)向字符串插入變量,而是使用${params}直接插入你需要添加到字符串的位置。

let t = "haha"
let a = `123${t}456`
console.log(a) //123haha456

既然替換位是 JS 表達(dá)式,那么可替換的就不僅僅是簡(jiǎn)單的變量名。你可以輕易嵌入計(jì)算、函
數(shù)調(diào)用,等等。例如:

let count = 10,
price = 0.25,
message = `${count} items cost $${(count * price).toFixed(2)}.`;
console.log(message); // "10 items cost $2.50."

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/108186.html

相關(guān)文章

  • 深入理解ES6筆記——符串正則表達(dá)式(2)

    摘要:本章主要講個(gè)知識(shí)點(diǎn),字符串正則表達(dá)式字符串字符串是大原始數(shù)據(jù)類型。提供的標(biāo)準(zhǔn)形式,接受一個(gè)可選的字符串參數(shù),指明應(yīng)用某種標(biāo)準(zhǔn)形式。如果在字符串中檢測(cè)到指定文本,返回,否則。字符串內(nèi)插入反撇號(hào)的方式。 相比較于第一章變量的聲明,這一章的內(nèi)容有了一點(diǎn)深度提升,但還不至于很難理解。本章主要講2個(gè)知識(shí)點(diǎn),字符串、正則表達(dá)式 字符串 字符串(String)是JavaScript6大原始數(shù)據(jù)類型。...

    guqiu 評(píng)論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁(yè)面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁(yè)性能管理詳解離線緩存簡(jiǎn)介系列編寫(xiě)高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問(wèn)性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對(duì)象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁(yè)面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁(yè)性能管理詳解 HTML5 ...

    jsbintask 評(píng)論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁(yè)面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁(yè)性能管理詳解離線緩存簡(jiǎn)介系列編寫(xiě)高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問(wèn)性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對(duì)象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁(yè)面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁(yè)性能管理詳解 HTML5 ...

    muddyway 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<