es6进修笔记--字符串的扩大、数组的扩大、对象的扩大

字符串的扩大

1.字符串的遍历器接口

  • 字符串能够被for…of轮回遍历。

与es5的比较
for轮回虽能够遍历字符串,但不能辨认大于oxFFFF的编码;

2.位置 –> 字符/码点

依据指定位置返回对应的字符和码点

es5:

  • charCodeAt() 码点
  • charAt() 字符

es6: —上风,能辨认大于oxFFFF的编码;

  • codePointAt()–返回码点
  • at()–返回字符 (现在es6还未完成,须要经由过程垫片库完成)
let hhh='fdf';
hhh.charAt(1);
// "d"
hhh.charCodeAt(1);
// 100
hhh.codePointAt(1);
// 100
hhh.at(1)
// Uncaught TypeError: hhh.at is not a function

3.码点 –> 字符

依据码点返回对应的字符

  • es5:String.fromCharCode(0x20BB7); 定义在String对象上
  • es6:String.fromCodePoint();定义在字符串的实例对象上。–能辨认32位字符。即能辨认Unicode编号大于oxFFFF;
String.fromCharCode(100)
"d"
String.fromCodePoint(0x20BB7)
// "?"
String.fromCodePoint(100,100,100)
// ddd

4.查询字符串是不是包括某个字符

es5:

  • indexOf()

es6:

  • includes():返回布尔值,示意是不是找到了参数字符串。
  • startsWith():返回布尔值,示意参数字符串是不是在原字符串的头部。
  • endsWith():返回布尔值,示意参数字符串是不是在原字符串的尾部

都支撑第二个参数,示意最先搜刮的位置。

let s = 'Hello world!';

s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false

5.repeat(n)

返回一个新字符串,示意将原字符串反复n次。
参数如果是小数,会被取整

'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""
'na'.repeat(2.9) // "nana"
'na'.repeat(Infinity)
// RangeError
'na'.repeat(-1)
// RangeError
参数NaN等同于 0

6.字符串补全长度的功用

padStart(minlength,string)用于头部补全,
padEnd(minlength,string)用于尾部补全
用处:

  • 提醒字符串花样;
  • 为数值补全指定位数
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'
'xxx'.padStart(2, 'ab') // 'xxx'
'xxx'.padEnd(2, 'ab') // 'xxx'
'x'.padStart(4) // '   x'
'x'.padEnd(4) // 'x   '
'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"
    原文作者:katara1109
    原文地址: https://segmentfault.com/a/1190000014192142
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞