美文网首页
ES7,8,9,10一些实用的新特性

ES7,8,9,10一些实用的新特性

作者: ticktackkk | 来源:发表于2020-09-11 14:55 被阅读0次

ES7

  • Array.prototype.includes()

在 ES6 中我们有 String.prototype.includes()可以查询给定字符串是否包含一个字符
在 ES7 中,我们在数组中也可以用 Array.prototype.includes方法来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。
两个参数,第一个参数是我们要查询的值,第二个参数是我们给定的下标起始值

 var arr = [1, 2, 4, 5, 'aaa', { 'a': 12 }, [{ 'name': () => 1 }, [3, 4]], 1,'v']
    console.log(arr.includes(1,5));//true
  • Math.pow()

在 ES7 中引入了指数运算符,具有与 Math.pow() 等效的计算结果

console.log(2**10);// 输出 1024
console.log(Math.pow(2,10))// 输出 1024
  • String.prototype.padStar
  • String.prototype.padEnd
 var str='aaa'
    console.log(str.padStart(10));//       aaa
    console.log(str.padStart(10,'bcd')); //bcdbcdbaaa
    console.log(str.padStart(10,1234567891));//1234567aaa
    
    console.log(str.padEnd(10));//aaa       /
    console.log(str.padEnd(10,'bcd'));//aaabcdbcdb
    console.log(str.padEnd(10,1234567891));//aaa1234567

ES8

*Async/Await
等我把Promise掌握再去了解,嘿嘿。

  • Object.values
  • Object.keys
    values和keys返回的是自身属性的所有值,不包括继承的值
const vals = {
        'name': 'hhhh',
        'age': 18,
        'sex': 'male'
    };
    console.log(Object.values(vals));//["hhhh", 18, "male"]
    console.log(Object.keys(vals));//["name", "age", "sex"]
  • Object.entries
    Object.entries返回一个给定对象自身可枚举属性的键值对的数组
const vals = {
        'name': 'hhhh',
        'age': 18,
        'sex': 'male'
    };
    console.log(Object.entries(vals));[["name", "hhhh"], ["age", 18],["sex", "male"]]

ES10

  • Array.prototype.flat()

多维数组是一种常见的数据格式,特别是在进行数据检索的时候。将多维数组打平是个常见的需求。通常我们能够实现,但是不够优雅。

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

var arr = [1, 2, [1, 2, 2, 222, [111111, 2222, 34, 3, [44444], [123, 324, 34, 345, 43, 5]]]]
    console.log(arr)//[1, 2, Array(5)]
    console.log(arr.flat(3));//[1, 2, 1, 2, 2, 222, 111111, 2222, 34, 3, 44444, 123, 324, 34, 345, 43, 5]
  • Array.prototype.flatMap

有了 flat 方法,那自然而然就有 Array.prototype.flatMap 方法,flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。从方法的名字上也可以看出来它包含两部分功能一个是 map,一个是 flat(深度为 1)。

相关文章

网友评论

      本文标题:ES7,8,9,10一些实用的新特性

      本文链接:https://www.haomeiwen.com/subject/czfeektx.html