ES6 之 字符串擴展
阿新 • • 發佈:2019-01-29
ads string ons end uppercase con eof 遍歷 是否
將一個值轉化為字符串,.toString()方法,但是null和undefined值沒有這個方法,
1、字符的Unicode(“\uxxxx”)表示法
xxxx —— 表示Unicode的碼點,但是這種碼點在\u0000~\uFFFF之間的字符。超出這個範圍額字符,必須用2個雙字節的形式表示。
如果直接在\u後面跟上超出範圍的值,如\u20BB7,js會理解成\u20BB + 7,由於\u20BB是一個不可打印字符,所以只會顯示一個空格,後面跟一個7。
console.log("\uD842\uDFB7") // ??console.log("\u20BB7") // ?7 console.log("\u{20BB7}") // ??
ES6對這一點做出了改進,只要將碼點放入大括號,就能正確解讀改字符串了。如上
JS內部,字符換是以UTF-16的格式存儲的,每一個字符固定為2個字節。
// 拼接 字符串.concat(str1,str2,str3...) 拼接符 + //推薦使用 // 截取 字符串.slice(start,end) // 前包後不包// slice() substring() substr() 第一個參數是開始位置, // slice() substring() 第二個參數是結束位置 // substr() 第二個參數是 返回的長度 let str = abcdefg console.log(str.slice(2,4)); // cd console.log(str.substring(2,4)); // cd console.log(str.substr(2,4)); // cdef
查詢字符是否在字符串中存在
字符串.indexOf(); // 返回索引或-1
字符串.lastIndexOf();
去除空白符
字符串.trim(); // 去除字符串兩邊的空格
字母字符大小寫轉換
字符串.toUpperCase(); // 轉換大寫 重點 字符串.toLowerCase(); // 轉換小寫 重點
字符串替換
字符串.replace(oldStr,newStr);
字符串分割
字符串.split(sp); // 把一個字符串分割成字符串數組。
3、ES6 之 字符串
let str = ‘abcdefg‘
1、for···of···字符串的遍歷器接口
// for···of···字符串的遍歷器接口includes() 、startsWith()、 endsWith() 返回的都是boolean值for( let codePoint of str) { console.log(codePoint) // 返回字符串的每一個字符 console.log(typeof codePoint) // string }
// includes() startsWith() endsWith() 返回的都是boolean值 // includes() 表示是否能找到參數 // startsWith() 表示參數字符串是否在源字符串開始 // endsWith() 表示參數字符串是否在源字符串結尾 console.log(str.includes(‘cd‘)) // true console.log(str.startsWith(‘ab‘)) // true console.log(str.endsWith(‘fg‘)) // true
repeat() 將源字符串復制一遍,返回新的字符串
// 參數是小數 會被取整,0返回空,Infinity或負數會報錯,NaN等同於0 console.log(str.repeat(3)) // abcdefgabcdefgabcdefg
padStart() 、padEnd() 字符串補全
// 如果某個字符串不夠指定長度,會在頭部或尾部補全長度 console.log(str.padStart(10,‘0‘)) // 000abcdefg console.log(str.padEnd(10,‘0‘)) // abcdefg000
ES6 之 字符串擴展