1、指数操作符(**)
ES7(2016)
2*10 => ?
2**10 => ??
2***10 => ???
2、Object 相关
- Object.values()
返回一个指定对象的所有可枚举属性值的数组
Object.values({a: 1, b: 2, c: 3})
- Object.keys()
返回一个指定对象的所有可枚举属性的字符串数组
Object.keys({a: 1, b: 2, c: 3})
- Object.entries()
返回一个数组,成员是参数对象自身
Object.entries({a: 1, b: 2, c: 3})
3、string padding
字符串补全长度
padStart && padEnd
// 该方法默认空格补全
//需要补全
'x'.padStart(6, 'ab')
'x'.padStart(5, 'ab')
'x'.padEnd(6, 'ab')
'x'.padEnd(5, 'ab')
//位数够了
'xxx'.padStart(2, 'ab') // 'xxx'
'xxx'.padEnd(2, 'ab') // 'xxx'
//补位参数多了
'abc'.padStart(10, '0123456789')
'abc'.padEnd(10, '0123456789')
4、Promise
let a = new Promise((resolve, reject) => {
resolve('111111')
})
let b = new Promise((resolve, reject) => {
resolve('22222')
})
let test = (time,fn) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
fn(`${time / 1000}秒后醒来`)
}, time)
})
}
let p1 = test(2000, resolve)
let p2 = test(3000, resolve)
let p3 = test(2000, reject)
let p3 = test(3000, reject)
- Promise.any()
Promise.any() 接收一个Promise可迭代对象,只要其中的一个 promise 成功,就返回那个已经成功的 promise 。如果可迭代对象中没有一个 promise 成功(即所有的 promises 都失败/拒绝),就返回一个失败的 promise
- Promise.all()
将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。
- promise.race()
返回最快的那个结果
Promise.any([a, b]).then(res => {
console.log(res)
})
Promise.all([a, b]).then(res => {
console.log(res)
})
Promise.race([a, b]).then(res => {
console.log(res)
})
网友评论