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 常用关键字列表集合
Dec 04 Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
jQuery DOM操作小结与实例
Jan 07 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
输入框过滤非数字的js代码
Sep 18 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 Javascript
Nuxt.js实战详解
Jan 18 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
Mar 07 Javascript
微信小程序实现消息框弹出动画
Apr 18 Javascript
微信小程序实现转盘抽奖
Sep 21 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
php 设计模式之 工厂模式
2008/12/19 PHP
PHP操作数组相关函数
2011/02/03 PHP
四个PHP非常实用的功能
2015/09/29 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
ajax 文件上传应用简单实现
2009/03/03 Javascript
Mootools 1.2教程 类(一)
2009/09/15 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
高中毕业自我鉴定范文
2013/10/02 职场文书
保护环境标语
2014/06/09 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
趣味运动会口号
2015/12/24 职场文书
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技