ES6字符串扩展: 

  处理大码点字符

字符的Unicode表示法

  \uxxxx表示一个字符串,超出 \u0000 ~ \uffff范围,必须用两个双字节形式表示。

    ES6改进为 将码点放到大括号 可正确解读

codePointAt()

  JS字符以 UTF-16 格式存储,每个字符固定为2个字节。需要4个字节的字符,js认为它们是两个字符。

  codePointAt可正确处理 4 字节存储的字符

    由4字节和2字节组成的字符串中 通过for ... of 循环可在第二次拿到2字节字符

    codePointAt(0)与 xFFFF比较可判断字符串是否为 4字节(32bit)字符串

normalize

  对欧洲语言 (重音、语调) 标准化

字符串包含的扩展

  indexOf(ES5)  includes/startWith/endsWith

repeat  重复构造字符串

padStart、padEnd  字符串头尾部补全

模板字符串

  包含变量、表达式、调用函数时语义更清晰

  字符串换行更简洁

ES6走一波 字符串的扩展的更多相关文章

  1. ES6走一波 数组的扩展

    Array flat 数组实例的扁平化方法(浏览器支持不佳) 建议使用 lodash的 flatten

  2. ES6学习笔记(3)----字符串的扩展

    参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 字符串的扩展ES6之前只能识别\u0000 - \uFFFF 之间的字符,超过此范围,识别会出错 ...

  3. ES6学习笔记之字符串的扩展

    字符串的for of ES6 为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历. const str='abcd'; for(let s of str){ console.log(s ...

  4. ES6走一波 变量结构赋值

    Destructuring  变量的解构赋值 是一种模式匹配 ES6我关注点之一是用途  能否举些好例子是检验学习到位的方法之一 交换变量值 函数返回多个值 函数入参为对象.数组,内部使用更简洁 意义 ...

  5. ES6走一波 module

    ES6模块设计思想:  尽量静态化,使得编译时就能确定模块的依赖关系,输入.输出的变量.可做静态优化. ES6模块不是对象,而是通过export命令显示指定输出的代码,再通过import命令输入 ex ...

  6. ES6走一波 Iterator

    Iterator---> for ... of 循环 Generator函数原生具有 Iterator接口,所以可采用数组的形式解构赋值

  7. ES6走一波 Proxy/Reflect

    Proxy:像拦截器,对目标对象修改等进行拦截,是一种元编程(meta programming),即修改JS语言本身. //生成proxy实例,两个参数都是对象,targetObj是要拦截的目标对象, ...

  8. ES6走一波 Generator异步应用

    Generator 函数的异步应用 JS异步编程 callback Promise(解决回调地狱) 事件 发布订阅 generator Thunk函数  屁股函数 两次高阶调用的函数 第一次调用的入参 ...

  9. JavaScript学习笔记--ES6学习(四) 字符串的扩展

    ES6对字符串进行了一些扩展,主要表现在对Unicode 大于\uFFFF的字符的处理上. 1. ES6中字符的Unicode表示方法 在ES5中,字符串的Unicode表示方法: \uxxxx . ...

随机推荐

  1. 详解 清除浮动 的多种方式(clearfix)

    说明 本文适合知道HTML 与 CSS基础知识的读者,或者想要了解清除浮动背后原理的读者! 1.什么是浮动 首先我们需要知道定位 元素在页面中的位置就是定位,解决问题之前我们先来了解下几种定位方式 : ...

  2. get请求中params参数的使用

    一.当发送一个get请求的时候,如果有参数,那么参数应该怎么处理呢? 比如,百度阅读里面,查询书的列表,点击进去,它是一个get请求,地址是:https://yuedu.baidu.com/book/ ...

  3. unittest的使用二——生成基于html的测试报告

    mac下的安装: 1.下载HTMLTestRunner.py文件,下载地址http://tungwaiyip.info/software/HTMLTestRunner.html,可以复制里面的内容到一 ...

  4. ElasticSearch6.5.0 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】

    今天想在一个Index上增加一个type,结果报错 java.lang.IllegalArgumentException: Rejecting mapping update to [posts] as ...

  5. Windows7安装程序无法定位现有系统分区,也无法创建新的系统分区

    解决Windows7.Windows8系统安装时“安装程序无法定位现有系统分区,也无法创建新的系统分区”提示. 方法一 把Windows7镜像发在你电脑的非系统盘的其他硬盘上. 重启机器,通过U盘启动 ...

  6. eclipse新建maven项目默认jre为1.5的问题

    在maven的settings.xml中添加如下内容解决 <profiles> <profile> <id>jdk-1.8</id> <activ ...

  7. Mybatis笔记一:写一个demo

    什么是Mybatis? 在Java中,我们连接数据库可以使用最初级的JDBC,但是这样很麻烦,每次都要写好多,所以Mybatis出现了,Mybatis可以帮我们很简单很简单的实现与数据库的读取改写操作 ...

  8. Linux下Maven私服Nexus3.x环境构建操作记录【转】

    Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...

  9. rpmbuild打包php

    安装php依赖库 mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} php有一个依赖库,在yum源于epel源中都没有需要自己打包libico ...

  10. Postman系列之@RequestBody修饰的对象传参数

    例如有如下接口: @RequestMapping(value = "/api/user/validate", method = RequestMethod.POST) UserIn ...