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 相关文章推荐
javascript 面向对象,实现namespace,class,继承,重载
Oct 29 Javascript
javascript简易缓动插件(源码打包)
Feb 16 Javascript
Javascript表单验证要注意的事项
Sep 29 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
Aug 30 Javascript
jquery动画效果学习笔记(8种效果)
Nov 13 Javascript
JavaScript代码性能优化总结篇
May 15 Javascript
AngularJS equal比较对象实例详解
Sep 14 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
深入了解javascript 数组的sort方法
Jun 01 Javascript
JQuery表单元素取值赋值方法总结
May 12 jQuery
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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
PHP 批量删除 sql语句
2009/06/05 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
python实发邮件实例详解
2019/11/11 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
社会实践心得体会
2014/01/03 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
2015年党员承诺书
2015/01/21 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
Golang 对es的操作实例
2022/04/20 Golang
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python