Fork me on GitHub

ES6笔记(二)字符串和正则表达式

字符串

字符串模板

字符串模板用来表示,示例如下: [crayon] let template = `

  • ${变量1}
  • $(变量2)

` [/crayon] 可以看到字符串模板主要有两个特点 (1)字符串换行不再需要+来拼接,里面的空格换行都会保留; (2)字符串里可以用${}的形式来表示变量,当然这里也可以写一些简单的表达式如${1+1}或是三元表达式${a=1?true:false},还可以调用函数${fn()};

标签模板

标签模板的意思就是可以用函数来调用字符串模板,当然这个函数的参数有规定的。示例如下: [crayon] //先定义这个函数 function tag (arr, …arg){//…表示不确定参数个数 console.log(arr); console.log(…arg); } // 准备一个变量 let world = 20; let sayHi= 66; // 函数调用 tag `hello ${ world },${sayHi}` // 打印结果 // 第一个参数打印出来是一个数组[‘hello’,’,’,’’] // 第二个参数打印出来是20 66 [/crayon] 从上面看出,这个函数的规则就是第一个参数是一个数组,里面放的是普通的字符串,而第二个参数就是${}里面的变量,一般用标签模板来过滤HTML字符串,了解即可,用的多的还是字符串模板。

关于字符串编码

(1)我们经常听到utf-8,它是一种通用的字符编码格式,但其实js里面对于字符串采用的是utf-16来处理的; (2)不管是utf-8还是utf-16都是Unicode码的一种实现,什么是Unicode码呢?不需要了解太多,你只要知道这是一个能代表任何字符的大集合就好了; (3)在js里字符的表示形式是这样的\uxxxx,xxxx叫做码点,对于码点大于0XFFFF的字符来讲,ES5是不能正确处理的,ES6对此完善,并提供了一些API如下: [crayon] codePointAt(index)//传入索引值,返回其对于位置的码点 String.fromCodePoint()//传入码点,返回对应字符串 at(index)//返回给定位置的字符 normalize()//顾名思义格式化,了解即可 [/crayon]

关于字符串的一些方法

有个印象就好,废话不多说上API: [crayon] includes(str, index)//如果在字符串中检测到指定文本,返回true,否则false。 startsWith(str, index)//如果在字符串起始部分检测到指定文本,返回true,否则返回false。 endsWith(str, index)//如果在字符串的结束部分检测到指定文本,返回true,否则返回false。 str.repeat(n)//表示将字符串str重复n次 [/crayon]

正则表达式

正则表达式主要增加了几个修饰符,几个属性,先不看,就是这么任性,因为看了也白看,而且现在用的也不多。以后有机会有精力再看吧。

-------------本文结束感谢您的阅读-------------

本文标题:ES6笔记(二)字符串和正则表达式

文章作者:陈晓拉尼

发布时间:2018年03月30日 - 14:03

最后更新:2018年09月11日 - 00:09

原始链接:http://yoursite.com/archives/37787.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。