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 相关文章推荐
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
JavaScript自定义事件介绍
Aug 29 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
Dec 13 Javascript
javascript实现一个数值加法函数
Jun 26 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
详解webpack 多入口配置
Jun 16 Javascript
微信小程序获取循环元素id以及wx.login登录操作
Aug 17 Javascript
vue .sync修饰符的使用详解
Jun 15 Javascript
Vue.js组件高级特性实例详解
Dec 24 Javascript
JS正则表达式封装与使用操作示例
May 15 Javascript
electron 如何将任意资源打包的方法步骤
Apr 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
URL Rewrite的设置方法
2007/01/02 PHP
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
PHP入门学习笔记之一
2010/10/12 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
利用layer实现表单完美验证的方法
2019/09/26 Javascript
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
基于Python实现简单学生管理系统
2020/07/24 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
python Scrapy框架原理解析
2021/01/04 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
法国家具及室内配件店:home24
2017/01/21 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
财务管理个人自荐书范文
2013/11/24 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
电子工程求职信
2014/07/17 职场文书
教师岗位说明书
2015/09/30 职场文书
导游词之吉林花园山
2019/10/17 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
JavaScript实现优先级队列
2021/12/06 Javascript