ES6学习笔记之字符串、数值拓展

一、字符串拓展

1、遍历

ES6 为字符串添加了遍历器接⼝,使得字符串可以被 for…of 循环遍历。

let str = 'hello world';
// for of => 对字符串做遍历操作
for(let s of str) {
    console.log(s);  //h e l l o  w o r l d
}  

2、实例方法

includes()

:返回布尔值,表示是否找到了参数字符串。

startsWith()

:返回布尔值,表示参数字符串是否在原字符串的头部。

endsWith()

:返回布尔值,表示参数字符串是否在原字符串的尾部。

let s = 'Hello world!';
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

repeat()

:方法返回一个新字符串,表示将原字符串重复n次。

'hello'.repeat(2) // "hellohello"

padStart()、padEnd()

:如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'

trimStart()、trimEnd()

:trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

const s = ' abc ';
s.trim() // "abc"
s.trimStart() // "abc "
s.trimEnd() // " abc"

matchAll()、replaceAll():

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

//历史上,字符串的实例方法replace()只能替换第一个匹配。
'aabbcc'.replace('b', '_') // 'aa_bcc'
//如果要替换所有的匹配,不得不使用正则表达式的g修饰符。
'aabbcc'.replace(/b/g, '_') // 'aa__cc'
//正则表达式毕竟不是那么方便和直观,ES2021 引入了replaceAll()方法,可以一次性替换所有匹配。
'aabbcc'.replaceAll('b', '_') // 'aa__cc'

二、数值拓展

1、实例方法

Number.isFinite(), Number.isNaN()

与isFinite、isNaN不同,这两个新⽅法只对数值有效, Number.isFinite() 对于⾮数值⼀
律返回 false , Number.isNaN() 只有对于 NaN 才返回 true ,⾮ NaN ⼀律返回
false 。

Number.isFinite(0.8); // true
Number.isFinite(NaN); // false
Number.isFinite(Infinity); // false
Number.isNaN(NaN) // true
Number.isNaN(15) // false

Number.parseInt(), Number.parseFloat()

ES6 将全局⽅法 parseInt() 和 parseFloat() ,移植到 Number 对象上⾯,⾏为完全
保持不变。

Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

Number.isInteger()

⽤来判断⼀个数值是否为整数。

Number.isInteger(25) // true
Number.isInteger(25.1) // false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值