ES6字串和Regex改動

來源:互聯網
上載者:User

標籤:結束   編碼   bsp   調用   number   mat   位置   一個   通知   

1. ES6字串變更

(1)includes() 方法,如果在字串中檢測到指定文本返回true,否則返回false

(2)startsWith()方法,如果在字串的起始部分檢測到文本,則返回true,否則返回false

(3)endsWith()方法,如果在字串的結束部分檢測到文本,則返回true,否則返回false

以上方法都接收兩個參數,一個是要檢測的文本,第二個參數是可選的,也即檢索開始的位置,在第三個方法中,從字串長度減去這個索引值的位置開始匹配

(4)repeat()方法,接收一個number型別參數,表示該字串重複次數

"x".repeat(3)  // ‘xxx‘    " ".repeat(4)  // 4個空格 控制縮排

 

codePointAt(),String.fromCodePoint() ,normalize() 標準化 針對32位編碼單元的方法

 

2. Regex

(1) u修飾符  從編碼單元模式切換為字元模式, 不會把32位編碼單元(代理對)視為兩個字元

(2) y修飾符  在字串開始匹配字元時,通知搜尋從Regex的lastIndex屬性開始進行,如果在指定位置沒能匹配成功,則停止匹配

只有調用exec() 和 text() 這些Regex對象的方法才會有lastIndex 屬性,  調用字串的方法(match) 不會觸發粘滯行為

 

(3)Regex的複製

ES5中, var re1 = /ab/i,

      re2 = new RegExp(re1); 

    re2是re1的一份拷貝

              re2 = new RegExp(re1,‘g‘);   // 在ES5中拋出錯誤,在ES6中正常運行

 

(4)flags 屬性

ES5中可以通過source屬性擷取Regex的文本,ES6中新增flags屬性來擷取修飾符

let re = /ab/g;

re.source    // "ab"

re.flags      // "g"

getFlags(re)  // "g"

ES6字串和Regex改動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.