ES2016, 2017, 2018 新特性

ES2016, 2017, 2018 新特性_第1张图片

1. Array.prototype.includes

includes();

  • 目的:表示某个数组是否包含给定的值,与字符串的includes()方法类似.
  • 参数:第一个参数表示要查找的数,第二个参数表示搜索的起始位置,返回一个布尔值.
  • 意义:推荐使用这个而不是indexOf()因为后者会对NaN造成误判.

ES2016, 2017, 2018 新特性_第2张图片

2. 指数函数的中缀形式

加/减法我们通常都是用其中缀形式,直观易懂。在ECMAScript2016中,我们可以使用**来替代Math.pow。

Math.pow(8,2) // 64

8**2 // 64

ES2016, 2017, 2018 新特性_第3张图片

1. Object.values()

Object.values()函数和Object.keys()很相似,它返回一个对象中自己属性的所有值(通过原型链继承的不算)。

ES2016, 2017, 2018 新特性_第4张图片

2. Object.entries()

Object.entries()和Object.keys相关,不过entries()函数会将key和value以数组的形式都返回。这样,使用循环或则将对象转为Map就很方便了。

例子1:

ES2016, 2017, 2018 新特性_第5张图片

例子2:

ES2016, 2017, 2018 新特性_第6张图片

3. 字符串追加

提供了两个字符串追加的方法String.prototype.padStart和String.prototype.padEnd,方便我们将一个新的字符串追加到某个字符串的头尾。

'someString'.padStart(numberOfCharcters [,stringForPadding]); 
'5'.padStart(10) // '          5'
'5'.padStart(10, '=*') //'=*=*=*=*=5'
'5'.padEnd(10) // '5         '
'5'.padEnd(10, '=*') //'5=*=*=*=*='
复制代码

这个对于格式化输出很有用!

3.1 padStart例子

我们有一个不同长度元素的数组,我们可以往前面追加0来使得他们打印的长度都为10。

ES2016, 2017, 2018 新特性_第7张图片

3.2 padEnd例子

同样,通过在后面追加字符串来格式化输出。

ES2016, 2017, 2018 新特性_第8张图片

const cars = {
  '                                    

你可能感兴趣的:(JavaScript,前端基础)