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 寻址,闭包,对象模型和相关问题
Apr 27 Javascript
用js做一个小游戏平台 (一)
Dec 29 Javascript
JS 毫秒转时间示例代码
Sep 22 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
Dec 14 Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
Apr 10 Javascript
原生js轮播特效
May 18 Javascript
angular中的cookie读写方法
Aug 02 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
Jul 03 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
Jul 19 Javascript
vuex实现购物车的增加减少移除
Jun 28 Javascript
React Native登录之指纹登录篇的示例代码
Nov 03 Javascript
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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
下拉框select的绑定示例
2014/09/04 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
微信小程序scroll-view点击项自动居中效果的实现
2020/03/25 Javascript
python3实现暴力穷举博客园密码
2016/06/19 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
python实现超市扫码仪计费
2018/05/30 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
PyQt5 多窗口连接实例
2019/06/19 Python
详解Flask前后端分离项目案例
2020/07/24 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
python 如何对logging日志封装
2020/12/02 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
四年的个人工作自我评价
2013/12/10 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
双创工作实施方案
2014/03/26 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
业务员管理制度范本
2015/08/06 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技