ES6字符串随笔

ES6对JavaScript的变动的很大,增加了一些新特性。

字符串模板:

字符串模块使用``来表示,相比原来使用双引号来标记,多了许多便利性

 1 // 原始的标记使用+来连接,遇到一些复杂的字符串会显得杂乱
 2 const char = '123'
 3 const str = 'a' + char + 'b'
 4 
 5 // 而模块字符串相比方便一些
 6 // 对于参数使用${xxx}来表示,如上面的式子
 7 const str = `a${char}b`  // 结果相同
 8 
 9 // 同时还支持多行字符串
10 const str = `
11 my name is lihua.
12 how are you?
13 `

字符串新增常用方法:

// 两个对象方法,虽然不常用到,还是有必要记一记。
String.fromCodePoint()   -- 将Unicode编码转为字符串,结果返回字符串。同fromCharCode()一样,只不过由于js的自身限制,fromCharCode无法识别大于0xFFFF的码,所以ES6推出了fromCodePoint()

String.Raw() -- 将字符串中斜杆前面加上一个斜杠,以表转义,常用于模块字符串的处理。

--匹配字符串方法:includes(), stratsWith(), endsWith()

原生的js只有indexof()来进行字符串匹配。

includes(char, index?)   -- 返回值,bool。 接收两个参数,char必选,查询的字符串,index为查找的位置。 找到字符串则返回ture,否则相反。

stratsWith(char, index?) -- 返回值,bool。 接收两个参数,上同!意义,查找的字符串是否处于原字符串的头部,是则返回true,否则相反

endsWith(char, index?)  -- 返回值,bool。接收两个参数,上同!意义,查找的字符串是否处于原字符串的尾部,是则返回true,否则相反 

-- 复制方法: repeat(n) 

repeat(n) -- 复制字符串,参数n为次数, 范围大于0的整数,如果值是浮点数,则向下取整。如果参数为字符串,则转为数字。 

-- 匹配正则方法: matchall(正则表达式)

matchall(正则表达式) -- 匹配正则表达式在当前字符串中的所有匹配

-- 空格去除方法: trimStart() trimEnd()

与trim()一样,trim出去字符串前的所有空格,而该两个方法如字面意思,去除Start前面,end后面的空格

-- 补全字符串方法: padStart(), padEnd()

padStart(length, str) -- 在字符串前面补全长度,前提是字符串长度不足。

padEnd(length, str) -- 在字符串后面补全长度,前提是字符串长度不足。

 1 ‘hello’.padStart(6, 'a')  // 'ahello'
 2 
 3 'hello'.padStart(6, 'abc')   // "ahello"
 4 
 5 'hello'.padStart(10, 'abc')   // "abcabhello"
 6 
 7 ‘hello’.padStart(5, 'abc')   // "hello"
 8 
 9 // padEnd()同理,不同点在字符串后面补齐
10 
11 ‘hello’.padEnd(6, 'a')  // 'helloa'

欢迎指教,与君共勉

以梦为马
原文地址:https://www.cnblogs.com/lsAxy/p/12763101.html