专栏首页coding个人笔记ES6之字符串扩展

ES6之字符串扩展

ES6对字符串扩展了一些功能,开发过程用到的不多,还有一些是Unicode的,这边就不仔细说那些,简单提一下ES6对字符串扩展了哪些。

字符的Unicode表示法做出了改进

提供了codePointmentAt能够正确处理4个字节存储的字符

ES6 提供了String.fromCodePoint方法,可以识别大于0xFFFF的字符,正好与codePointAt方法相反

ES6 为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历,可以识别大于0xFFFF的码点

normalize()方法,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。

includes(), startsWith(), endsWith(),这几个方法是开发中可以用得上,常用的indexOf返回的是所在的index,而这几个方法可以直接返回布尔值:

let str = 'Hello world!';
console.log(str.startsWith('H')) // true
console.log(str.endsWith('!')) // true
console.log(str.includes('o')) // true
console.log(str.indexOf('o')) // 4

repeat方法返回一个新字符串,表示将原字符串重复n次。参数如果是小数,会被取整。参数是负数或者Infinity,会报错,其他是字符串等情况有处理,但是希望不要出现,也就不说了:

let str = 'Hello';
console.log(str.repeat(2)) // HelloHello

padStart(),padEnd(),padStart()用于头部补全,padEnd()用于尾部补全。这有一些规则,需要使用的时候可以去查一下,这边简单使用:

console.log('ab'.padStart(8,'cd'))//cdcdcdab
console.log('ab'.padEnd(9, 'cd'))//abcdcdcdc

matchAll方法返回一个正则表达式在当前字符串的所有匹配。

模板字符串,这也是使用频率很高的一个,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。模板字符串中嵌入变量,需要将变量名写在${}之中。大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。模板字符串之中还能调用函数。模板字符串甚至还能嵌套。

模板编译和标签模板还有String.raw方法,这三个在我觉得应该不会使用,但是可以知道一下有这个东西。

最后就是字符串模板是有限制的,只不过要是我们只是普通使用,就可以不用理会。

(完)

本文分享自微信公众号 - coding个人笔记(gh_2ce38b49dae1),作者:wade

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ES6之数值的扩展

    之前说过,严格模式八进制不能使用前缀0表示,ES6规定必须使用0o。ES6提供了二进制和八进制的新写法:

    wade
  • 在线动态换肤思路

    很早之前就在想在线换肤的实现思路,主要是之前有个项目有换肤,连布局图片都不一样,无能为力,只好写不同页面,然后通过打包的时候配置删除和替代文件实现,但是在线换肤...

    wade
  • ES6之变量的解构赋值

    ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。解构赋值在一些场景下还是很有用的。

    wade
  • 前端基础-ECMAScript字符串模板(模板字面量)

    ES6中提供了字符串模板语法,允许使用反引号(倒引号) `` 来创建字符串,里面可以包含${变量名}形式的变量占位符。 其中的变量会被解析。

    cwl_java
  • ES6 学习笔记之字符串拓展

    字符换相关的拓展在书中有非常详细的介绍,我这里仅记录一些可能会用到的函数或方法,以备后用。

    我与梦想有个约会
  • 使用FTP连接池封装工具类

    早前的思路是将FTP连接的管理(对象池功能)与FTP工具类(上传下载方法)在一个工程中实现,在工具类中调用是模板类提供的模板方法, 由模板方法与对象池打交道——...

    用户3579639
  • PHP-ThinkPHP框架中的视图

    为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:视图目录/控制器名(小写)/操作名(小写)+模板后缀

    cwl_java
  • JavaScript 字符串实用常操纪要

    JavaScript 字符串用于存储和处理文本。因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作...

    晚晴幽草轩轩主
  • 【干货】打造自己的web前端工作流(一)--- 交互的命令行工具模板篇

    前言 web前端领域技术日新月异,技术栈也不断丰富,在日常工作中涉及到的内容也不断增加,一个前端项目从开发到发布涉及的步骤也很多,很多重复工作内容,因此我...

    腾讯NEXT学位
  • JavaScript 字符串【整合】

    JavaScript 字符串用于存储和处理文本。因此在编写 JS 代码之时总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 ...

    一墨编程学习

扫码关注云+社区

领取腾讯云代金券