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获取下拉列表的值为null的解决方法
Mar 18 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
jQuery学习之prop和attr的区别示例介绍
Nov 15 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
Dec 01 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 Javascript
jQuery使用$.ajax进行即时验证实例详解
Dec 11 Javascript
JS拖拽组件学习使用
Jan 19 Javascript
JS实现禁止鼠标右键的功能
Oct 15 Javascript
JQuery实现图片轮播效果
May 08 jQuery
vue页面加载闪烁问题的解决方法
Mar 28 Javascript
20个必会的JavaScript面试题(小结)
Jul 02 Javascript
JS实现简易留言板(节点操作)
Mar 16 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Python中的choice()方法使用详解
2015/05/15 Python
Python对列表排序的方法实例分析
2015/05/16 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
函授毕业个人自我评价
2014/02/20 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
大学生简历求职信
2014/06/24 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
Nginx HTTP跳转至HTTPS
2022/05/15 Servers