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 相关文章推荐
dwr spring的集成实现代码
Mar 22 Javascript
js实现字符串的16进制编码不加密
Apr 25 Javascript
浅谈AngularJS中ng-class的使用方法
Nov 11 Javascript
jQuery弹出div层过2秒自动消失
Nov 29 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
Vue创建头部组件示例代码详解
Oct 23 Javascript
通过cordova将vue项目打包为webapp的方法
Feb 02 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
Sep 29 Javascript
jdk1.8+vue elementui实现多级菜单功能
Sep 24 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御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
PHP求最大子序列和的算法实现
2011/06/24 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
Js callBack 返回前一页的js方法
2008/11/30 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
javascript基础知识
2016/06/07 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
在python中的socket模块使用代理实例
2014/05/29 Python
python基础教程之常用运算符
2014/08/29 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Python中random模块用法实例分析
2015/05/19 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
实例讲解Python爬取网页数据
2018/07/08 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
南京某公司笔试题
2013/01/27 面试题
瀑布模型都有哪些优缺点
2014/06/23 面试题
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
大学毕业生个人自荐书
2014/07/02 职场文书
工人先进事迹材料
2014/12/26 职场文书
上课说话检讨书
2015/01/27 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书