ES6 之 字符串扩展

Posted houfee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 之 字符串扩展相关的知识,希望对你有一定的参考价值。

字符串所有的方法,都 不会修改字符串本身(字符串是不可变的),操作完成会 返回一个新的字符串。

将一个值转化为字符串,.toString()方法,但是null和undefined值没有这个方法,

1、字符的Unicode(“uxxxx”)表示法

xxxx —— 表示Unicode的码点,但是这种码点在u0000~uFFFF之间的字符。超出这个范围额字符,必须用2个双字节的形式表示。

如果直接在u后面跟上超出范围的值,如u20BB7,js会理解成u20BB + 7,由于u20BB是一个不可打印字符,所以只会显示一个空格,后面跟一个7。

console.log("uD842uDFB7") // ??
console.log("u20BB7") // ?7 console.log("u{20BB7}") // ??

 ES6对这一点做出了改进,只要将码点放入大括号,就能正确解读改字符串了。如上

JS内部,字符换是以UTF-16的格式存储的,每一个字符固定为2个字节。

2、ES5之字符串

字符串的拼接 和 截取

// 拼接
字符串.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···字符串的遍历器接口
    for( let codePoint of str) {
      console.log(codePoint) // 返回字符串的每一个字符
      console.log(typeof codePoint) // string
    }
 
includes() 、startsWith()、 endsWith() 返回的都是boolean值
// 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 之 字符串扩展的主要内容,如果未能解决你的问题,请参考以下文章

ES6 之 字符串扩展

es6之各种数据类型的扩展

ES6之数值的扩展

ES6学习笔记之数值的扩展

ES6学习笔记之数值的扩展

ES6学习笔记之正则扩展