Javascript6中字符串的四个新用法分享

以下就是JavaScript6中字符串的四个新用法

一、Unicode字符的新表示方法

Unicode字符通常是21个bit的,而普通的JavaScript字符(大部分)是16bit的,可以编码成UTF-16。超过16bit的字符需要用2个常规字符表示。

比如,下面的的代码将会输出一个Unicode小火箭字符(‘\uD83D\uDE80'),你可以在浏览器的console里试一下:

rush:js;"> console.log('\uD83D\uDE80');

在 ECMAScript 6 里,可以使用新的表示方法,更简洁:

rush:js;"> console.log('\u{1F680}');

二、多行字符串定义和模板字符串

模板字符串提供了三个有用的语法功能

首先,模板字符串支持嵌入字符串变量:

rush:js;"> let first = 'Jane'; let last = 'Doe'; console.log(`Hello ${first} ${last}!`); // Hello Jane Doe!

第二,模板字符串支持直接定义多行字符串:

rush:js;"> let multiLine = ` This is a string with multiple lines`;

第三,如果你把字符串加上String.raw前缀,字符串将会保持原始状况。反斜线(\)将不表示转义,其它专业字符,比如 \n 也不会被转义:

rush:js;"> let raw = String.raw`Not a newline: \n`; console.log(raw === 'Not a newline: \\n'); // true

三、循环遍历字符串

字符串可遍历循环,你可以使用 for-of 循环字符串里的每个字符:

rush:js;"> for (let ch of 'abc') { console.log(ch); } // Output: // a // b // c

而且,你可以使用拆分符 (...) 将字符串拆分成字符数组:

rush:js;"> let chars = [...'abc']; // ['a','b','c']

四、字符串包含判断和重复复制字符串

有三个新的方法能检查一个字符串是否包含另外一个字符串:

'hello'.startsWith('hell') true > 'hello'.endsWith('ello') true > 'hello'.includes('ell') true

这些方法一个可选的第二个参数,指出搜索的起始位置:

'hello'.startsWith('ello',1) true > 'hello'.endsWith('hell',4) true

'hello'.includes('ell',1)
true
'hello'.includes('ell',2)
false

repeat()方法能重复复制字符串:

总结

以上就是关于Javascript6中字符串的四个新用法,大家都学会了吗?希望这篇文章对大家能有所帮助,如果有疑问大家可以留言交流。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...