ES6学习心得-----字符串的新增方法

字符串的新增方法

  1. String.fromCodePoint()
    ES5 提供的String.fromCharCode()方法不能识别码点大于0xFFFF的字符。
    ES6 提供的String.fromCodePoint()方法,可以识别大于0xFFFF的字符。
let q=String.fromCodePoint(0x20BB9);
q     //"𠮹"
  1. String.raw()
let u=String.raw`hi\n${1+2}`
u     //"hi\n3"
let r=String.raw`Hi\\n`;
r     //"Hi\\n"
  1. 实例方法:codePointAt()
    需要4个字节储存的字符,JavaScript 会认为它们是两个字符。
    ES6 提供了codePointAt()方法,能够正确处理 4 个字节储存的字符,返回一个字符的码点。
let s="我";
s.codePointAt(0)    //25105

codePointAt()方法返回的是码点的十进制值,如果想要十六进制的值,可以使用toString()方法转换一下。

let s="我";
s.codePointAt(0).toString(16)     //"6211"

若需要参数与下标对应,使用for…of循环

let x="我们是";
for(let item of x){console.log(item.codePointAt(0))}
// 25105
// 20204
// 26159
  1. 实例方法:normalize()
    ES6 提供字符串实例的normalize()方法,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。不过,normalize方法目前不能识别三个或三个以上字符的合成。

  2. 实例方法:includes(), startsWith(), endsWith()
    includes():返回布尔值,表示是否找到了参数字符串。
    startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
    endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

let str="good morning";
str.includes("d")     //true
str.startsWith("good")     //true
str.endsWith("ing")     //true

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

str.startsWith("mor",5)     //true
  1. 实例方法:repeat()
    repeat方法返回一个新字符串,表示将原字符串重复n次。
    1)参数如果是小数,会被取整。不四舍五入。
    2)如果repeat的参数是负数或者Infinity,会报错。如果参数是 0 到-1 之间的小数,则等同于 0;
    3)参数NaN等同于 0。
"hello".repeat(1)     //"hello"
"hello".repeat(5.6)     //"hellohellohellohellohello"
"hello".repeat(-0.4)     //""
"hello".repeat(NaN)     //""
  1. 实例方法:padStart(),padEnd()
    ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
    1)padStart()和padEnd()一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。
    2)如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串。
    3)如果省略第二个参数,默认使用空格补全长度。
    4)padStart()的常见用途是为数值补全指定位数、提示字符串格式。
"good".padStart(7,"ab");     //"abagood"
"good".padStart(3,"ab");     //"good"
"good".padStart(7);     //"   good"
  1. 实例方法:trimStart(),trimEnd()
    ES2019 对字符串实例新增了trimStart()和trimEnd()这两个方法。
    1)trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。
    2)除了空格键,这两个方法对字符串头部(或尾部)的 tab 键、换行符等不可见的空白符号也有效。
    3)浏览器还部署了额外的两个方法,trimLeft()是trimStart()的别名,trimRight()是trimEnd()的别名。
"   good   ".trimStart();     //"good   "
"   good   ".trimEnd();     //"   good"
"   good   ".trimLeft();     //"good   "
"   good   ".trimRight();     //"   good"
"   good   ".trim()     //"good"
  1. 实例方法:matchAll()
    matchAll()方法返回一个正则表达式在当前字符串的所有匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值