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 相关文章推荐
JQuery 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 Javascript
使用JavaScript构建JSON格式字符串实现步骤
Mar 22 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
Aug 02 Javascript
js判断url是否有效的两种方法
Mar 04 Javascript
node.js中的fs.link方法使用说明
Dec 15 Javascript
jQuery判断多个input file 都不能为空的例子
Jun 23 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
关于vue-router路径计算问题
May 10 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
Jun 04 Javascript
JS图片懒加载技术实现过程解析
Jul 27 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
分析python切片原理和方法
2017/12/19 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
python3代码中实现加法重载的实例
2020/12/03 Python
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
大学生求职工作的自我评价
2014/02/13 职场文书
会议欢迎标语
2014/06/30 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
市级三好学生评语
2014/12/29 职场文书
婚宴父母致辞
2015/07/27 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
Python requests用法和django后台处理详解
2022/03/19 Python
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript