欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ES2016, 2017, 2018 新特性

程序员文章站 2022-04-07 13:58:04
...

ES2016, 2017, 2018 新特性

1. Array.prototype.includes

includes();

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

ES2016, 2017, 2018 新特性

2. 指数函数的中缀形式

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

Math.pow(8,2) // 64

8**2 // 64

ES2016, 2017, 2018 新特性

1. Object.values()

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

ES2016, 2017, 2018 新特性

2. Object.entries()

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

例子1:

ES2016, 2017, 2018 新特性

例子2:

ES2016, 2017, 2018 新特性

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 新特性

3.2 padEnd例子

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

ES2016, 2017, 2018 新特性

const cars = {
  '