博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ECMAScript 6 -- 字符串的扩展
阅读量:7236 次
发布时间:2019-06-29

本文共 1302 字,大约阅读时间需要 4 分钟。

字符串的遍历器接口:

字符串可以被for...of循环遍历。

    

这个遍历器最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。

    

at()

ES5对字符串对象提供charAt方法,返回字符串给定位置的字符。该方法不能识别码点大于0xFFFF的字符。

normalize()

normalize方法可以接受一个参数来指定normalize的方式,参数的四个可选值如下。

  • NFC,默认参数,表示“标准等价合成”(Normalization Form Canonical Composition),返回多个简单字符的合成字符。所谓“标准等价”指的是视觉和语义上的等价。
  • NFD,表示“标准等价分解”(Normalization Form Canonical Decomposition),即在标准等价的前提下,返回合成字符分解的多个简单字符。
  • NFKC,表示“兼容等价合成”(Normalization Form Compatibility Composition),返回合成字符。所谓“兼容等价”指的是语义上存在等价,但视觉上不等价,比如“囍”和“喜喜”。(这只是用来举例,normalize方法不能识别中文。)
  • NFKD,表示“兼容等价分解”(Normalization Form Compatibility Decomposition),即在兼容等价的前提下,返回合成字符分解的多个简单字符。

includes(), startsWith(), endsWith()

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
    

结果:

true

true

true

 

    

endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

结果:

true

true

false

repeat()

repeat方法返回一个新字符串,表示将原字符串重复n次。

    

结果:

hellohello

padStart(),padEnd()

ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

    

结果:

ababx

abax

xabab

xaba

模板字符串

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

    

结果:

Hello Bob, how are you today?

引用模板字符串本身,在需要时执行,可以像下面这样写:

    

结果:

Hello Jack!

Hello Jack!

 

转载地址:http://rumfm.baihongyu.com/

你可能感兴趣的文章
Base64编码
查看>>
Installing Chocolatey
查看>>
python3+spark2.1+kafka0.8+sparkStreaming
查看>>
jstl自己定义函数的使用
查看>>
使用Visual Studio Code调试React Native报错
查看>>
FineUI 将不再内置 ExtJS (严格遵守 ExtJS 的开源规则)
查看>>
javascript 中contentWindow和 frames和iframe之间通信
查看>>
取得正在运行的Activity
查看>>
UVA 103 Stacking Boxes 套箱子 DAG最长路 dp记忆化搜索
查看>>
二分-hdu-4768-Flyer
查看>>
IE下target获得焦点时存在虚线的问题
查看>>
Web App开发入门
查看>>
PHP实现金额数字转换成大写函数
查看>>
QQ空间HD(1)-UIPopoverController基本使用
查看>>
虚拟互换(virtual swap)
查看>>
点滴记录——在Ubuntu 14.04中使SublimeText 3支持中文输入法
查看>>
ARP欺骗病毒,网页“篡改”,注入iframe代码!
查看>>
IE读取并显示本地图像文件的方法
查看>>
自学android半年,已从.net转型成android程序员,分享下这个过程
查看>>
ImageView显示网络图片
查看>>