【ES6(2015)】String
生活随笔
收集整理的這篇文章主要介紹了
【ES6(2015)】String
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. Unicode表示法
- 2. 遍歷器接口
- 3. 模板字符串
- 4. 擴展方法
1. Unicode表示法
ES6 加強了對 Unicode 的支持,允許采用\uxxxx形式表示一個字符,其中xxxx表示字符的 Unicode 碼點。
"\u0061" // "a"但是,這種表示法只限于碼點在\u0000~\uFFFF之間的字符。超出這個范圍的字符,必須用兩個雙字節的形式表示。
"\uD842\uDFB7" // "𠮷""\u20BB7" // " 7"如果直接在\u后面跟上超過0xFFFF的數值(比如\u20BB7),JavaScript 會理解成\u20BB+7。由于\u20BB是一個不可打印字符,所以只會顯示一個空格,后面跟著一個7。
有了這種表示法之后,JavaScript 共有 6 種方法可以表示一個字符。
'\z' === 'z' // true '\172' === 'z' // true '\x7A' === 'z' // true '\u007A' === 'z' // true '\u{7A}' === 'z' // true2. 遍歷器接口
ES6 為字符串添加了遍歷器接口,使得字符串可以被for...of循環遍歷。
for (let item of 'oh,es6 is 666!') {console.log(item) }3. 模板字符串
先看看ES5中處理字符串復雜的方式:
// 字符串很長要換行,處理不好就會導致程序語法錯誤// 字符串中有變量或者表達式,拼接字符串很麻煩,稍不留意就錯了 var name = "xiaoming" var age = 18 var res = 'Hello, my name is' + name + ' I\'m' + age console.log(res)ES6 中引入字符串字面量來解決字符串拼接問題:
// 換行問題 `string text line 1string text line 2`// 字符串中包含變量或表達式,拼接 `Hello, my name is ${name} I'm ${age}`ES6 中還引入了標簽模板來解決字符串復雜邏輯:
// 定義標簽函數 function tag(literals, ...substitutions) {// 返回一個字符串 } var a = 5; var b = 10;tag`Hello ${ a + b } world ${ a * b }`; // 等同于 tag(['Hello ', ' world ', ''], 15, 50);4. 擴展方法
- String.prototype.fromCodePoint()
從 Unicode 碼點返回對應字符,并且可以識別大于0xFFFF的字符
- String.prototype.includes()
- String.prototype.startsWith()
判斷參數字符串是否在原字符串的頭部, 返回boolean類型的值。
- String.prototype.endsWith()
判斷參數字符串是否在原字符串的尾部, 返回boolean類型的值。
- String.prototype.repeat()
repeat方法返回一個新字符串,表示將原字符串重復n次。
總結
以上是生活随笔為你收集整理的【ES6(2015)】String的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中行号大小调整,给自己的程序加上行
- 下一篇: 【ES6(2015)】Array数组