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 相关文章推荐
用 JSON 处理缓存
Apr 27 Javascript
javascript网页关闭时提醒效果脚本
Oct 22 Javascript
JavaScript中URL编码函数代码
Jan 11 Javascript
JS防止用户多次提交的简单代码
Aug 01 Javascript
js获取数组的最后一个元素
Apr 14 Javascript
JavaScript中setFullYear()方法的使用详解
Jun 11 Javascript
bootstrapValidator 重新启用提交按钮的方法
Feb 20 Javascript
js自定义trim函数实现删除两端空格功能
Feb 09 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
微信小程序之swiper滑动面板用法示例
Dec 04 Javascript
VUE解决 v-html不能触发点击事件的问题
Oct 28 Javascript
javascript中的相等操作符(==与===区别)
Dec 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
咖啡的种类和口感
2021/03/03 新手入门
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python自定义线程类简单示例
2018/03/23 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
python利用tkinter实现屏保
2019/07/30 Python
Python PIL图片添加字体的例子
2019/08/22 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
Python 实现集合Set的示例
2020/12/21 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
自荐信怎么写好
2013/11/11 职场文书
医疗纠纷协议书
2014/04/16 职场文书
团队激励口号
2014/06/06 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
新员工入职欢迎词
2015/01/23 职场文书