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入门教程(11) js事件处理
Jan 31 Javascript
返回对象在当前级别中是第几个元素的实现代码
Jan 20 Javascript
javascript打印输出json实例
Nov 11 Javascript
Js与下拉列表处理问题解决
Feb 13 Javascript
jqeury-easyui-layout问题解决方法
Mar 24 Javascript
Js实现手机发送验证码时按钮延迟操作
Jun 20 Javascript
jQuery打印指定区域Html页面并自动分页
Jul 04 Javascript
js实例属性和原型属性示例详解
Nov 23 Javascript
Vue.Js中的$watch()方法总结
Mar 23 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
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
程序员编程十条戒律
2009/07/09 PHP
最新的php 文件上传模型,支持多文件上传
2009/08/13 PHP
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
php目录拷贝实现方法
2015/07/10 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
下载糗事百科的内容_python版
2008/12/07 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python常用数据重复项处理方法
2019/11/22 Python
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
文员岗位职责
2013/11/09 职场文书
业务经理岗位职责
2013/11/11 职场文书
考博专家推荐信
2014/05/10 职场文书
Redis RDB技术底层原理详解
2021/09/04 Redis
MySQL的存储过程和相关函数
2022/04/26 MySQL
A22国内电台短波广播频率表
2022/05/10 无线电
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript