title: ES8—-includes
categories: Javascript
tag:

  • es8
    date: 2021-11-28 09:16:34

Object values

之前我们可以通过 Object.keys 获取一个对象所有的 key,在 ES8 中提供了 Object.values 来获取所有的 value 值

  1. const obj = {
  2. name: 'why',
  3. age: 18,
  4. height: 1.88
  5. }
  6. console.log(Object.values(obj)) //[ 'why', 18, 1.88 ]

Object entries

通过 Object.entries 可以获取到一个数组,数组中会存放可枚举属性的键值对数组。

  1. const obj = {
  2. name: 'why',
  3. age: 18,
  4. height: 1.88
  5. }
  6. console.log(Object.entries(obj)) //[ [ 'name', 'why' ], [ 'age', 18 ], [ 'height', 1.88 ] ]

如果是数组或者字符串类型

  1. const arr = ['aaa', 'bbb', 'ccc']
  2. console.log(Object.entries(arr)) //[ [ '0', 'aaa' ], [ '1', 'bbb' ], [ '2', 'ccc' ] ]
  3. console.log(Object.entries('abc')) //[ [ '0', 'a' ], [ '1', 'b' ], [ '2', 'c' ] ]

String Padding字符串填充

某些字符串我们需要对其进行前后的填充,来实现某种格式化效果,ES8 中增加了 padStart 和 padEnd 方法,分别是对字符串的首尾进行填充的。

  1. const message = 'dh'
  2. console.log(message.padStart(4, 'a')) //aadh
  3. console.log(message.padEnd(4, 'a')) //dhaa

我们可以把他应用于。身份证号前面为*号

  1. const IDCard = '122333199812241224'
  2. const last = IDCard.slice(-4)
  3. console.log(last)
  4. const result = last.padStart(IDCard.length, '*')
  5. console.log(result) //**************1224

结尾的逗号

在 ES8 中,我们允许在函数定义和调用时多加一个逗号:

  1. function foo(a, b) {
  2. console.log(a, b)
  3. }
  4. foo(10, 20) //10 20

Object.getOwnPropertyDescriptors

ES8 中增加了另一个对对象的操作是 Object.getOwnPropertyDescriptors.用于获取对象自己的描述