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


Posted in Javascript onSeptember 11, 2016

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

一、Unicode字符的新表示方法

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

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

console.log('\uD83D\uDE80');

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

console.log('\u{1F680}');

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

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

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

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

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

let multiLine = `
  This is
  a string
  with multiple
  lines`;

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

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

三、循环遍历字符串

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

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

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

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()方法能重复复制字符串:

> 'doo '.repeat(3)
  'doo doo doo '

总结

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

Javascript 相关文章推荐
Juqery Html(),append()等方法的Bug解决方法
Dec 13 Javascript
简述AngularJS的控制器的使用
Jun 16 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
JavaScript中Require调用js的实例分享
Oct 27 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
Dec 31 Javascript
angularjs的单选框+ng-repeat的实现方法
Sep 12 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 Javascript
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
JavaScript制作简单分页插件
Sep 11 #Javascript
关于vue.js弹窗组件的知识点总结
Sep 11 #Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 #Javascript
Javascript实现前端简单的路由实例
Sep 11 #Javascript
JavaScript中Array的实用操作技巧分享
Sep 11 #Javascript
JS实现六边形3D拖拽翻转效果的方法
Sep 11 #Javascript
最全面的百度地图JavaScript离线版开发
Sep 10 #Javascript
You might like
php _autoload自动加载类与机制分析
2012/02/10 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
Python基础学习之常见的内建函数整理
2017/09/06 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
python中rc1什么意思
2020/06/19 Python
自主招生教师推荐信
2014/05/10 职场文书
技术经济专业求职信
2014/09/03 职场文书
微观世界观后感
2015/06/10 职场文书
公司中层管理培训心得体会
2016/01/11 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
Python中文纠错的简单实现
2021/07/07 Python
python 多态 协议 鸭子类型详解
2021/11/27 Python