ES6新特性有哪些?快来看看吧(三)

今天讲解一下ES6字符串新增的方法;

ES6加强了对Unicode的支持,可以采用\uxxxx的形式表示一个字符,xxxx表示字符的Unicode码点。


但是,这种表示法只限于码点在\u0000-\uFFFF之间的字符,超出这个范围必须要用双字节表示。

ES6中字符串添加了遍历器接口,使得字符串可以被for ...of循环遍历。

最最重要的增加了模板字符串;这个功能非常方便;

传统的模板时这样的;


然而ES6中新增了模板字符串就可以写出这样的;


模板字符串;

模板字符串用(``)反引号标识,它可以当作普通的字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量

模板字符串中嵌入变量,需要将变量名写在${}之中。

大括号内可以放任意的JavaScript表达式,可以进行运算,以及引用对象的属性。


模板字符串之中还可以调用函数;


如果模板字符串中的变量没有声明,将报错。


如果模板字符串的大括号内部就是执行Javascript代码,所以如果大括号内部是一个字符串,将会原样输出。


下面说下字符串新增的方法:

在ES6之前,Javascript只有indexOf()方法,用来确定一个字符串是否包含在另一个字符串中。ES6提供了三种新方法;

includes()返回布尔值,表示是否找到了参数字符串。

startsWith();返回布尔值,表示参数字符串是否在原字符串的头部。

endsWith();返回布尔值,表示参数字符串是否在原字符串的尾部。

这三个方法都支持第二个参数,表示开始搜索的位置。但是endsWith的与其他两种方法不同,它是针对前n个字符,而其他方法从第n个位置直到字符串结束。


repeat();

作用:将原字符串重复n次。返回一个新的字符串。


如果参数是小数,会被取整


如果repeat的参数是负数或者Infinity,会报错。

如果参数是0到-1之间的小数,则等用于0,这是因为会先进行取整运算,0到-1之间的小数取整之后等同-0,repeat视同为0;


参数NAN等同于0;如果参数是字符串则会先转换成数字。

padStart()头部补全,padEnd()尾部补全。

一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个是用来补全的字符串。如果字符串的长大于或者等于最大长度,则字符串补全不生效,返回原字符串,


如果省略第二个参数,默认使用空白补全长度。

如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截取超出位数的补全字符串。


trimStart(),消除字符串头部的空格;

trimEnd(),消除字符串尾部的空格;他俩都是返回最新的字符串,不会修改字符串,

replaceAll():一次性替换所有的匹配;


在此方法之前,想要替换所有的要使用正则表达式。

返回值:返回一个新字符串,不会改变原字符串。

at();

此方法接受一个整数作为参数,返回参数指定位置的字符,支持负索引,如果参数位置超出字符串范围会返回undefined;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容