凯小凯

Javascript ES6 — 探究新的内置方法

原文链接: hackernoon.com

ES6标准发布的新特性中,有大量新的内置方法。这些新方法旨在简化和规范开发人员在使用JS数据类型:NumbersStringsObjectArrays时遇到的一些常见情况。

ES6的一个目标就是使JS编程更简洁更干净。让我们来看一下,ES6是如何帮助我们达到这一目标的。

在下面的每个代码片段中,您将看到:

//ES6 — 这是使用ES6新特性的实现方式

//ES5 — 这是ES5等价于ES6的实现方式(如果有的话)

如果您喜欢这篇文章,请您查看我们最近的关于JS ES6 Proxies的文章。

介绍Javascript ES6 Proxies ES6中引入的新特性之一就是Proxy对象. Proxy对象是用来定义自定义。。。

对象属性赋值

在处理对象时,常常需要合并2个或多个对象。新的Object.assign()函数提供了一个简洁的方式来实现。

对象合并

Object.assign合并对象

我们从2到4行的3个对象开始,目的是将它们合并到destination对象中。在ES5中,你不得不循环遍历并挨个把属性添加到destination对象中。但是在ES6中,你可以一行代码解决这个问题(15行)。

当您合并具有相同属性的对象时,会发生什么情况?让我们接着看。

合并具有相同属性的对象

您也可以使用Object.assign()来克隆对象。

克隆对象

Object.assign克隆对象

数组元素查找

通常工作时你会想找一个数组的element或数组中的一个elementindex。ES6提供了两个新的数组方法 find()findIndex()来达到这一目的。需要注意的是,_find() _将会返回满足测试函数的第一个元素。让我们看看这些ES6功能等价的ES5实现方式(没有findindex()的ES5等价实现方式)。

7行和12行实现了同样的功能,但是您可以看到12行ES6实现方式的简洁。这里并没有和13行(findIndex)等价的ES5实现方式。14行表明findIndex()函数会返回第一个符合条件的元素。

字符串重复

ES6有一个简单的String.repeat()方法来实现字符串重复。

字符串重复

字符串查找

ES6增加了3个新的方法来帮助开发者搜索字符串中的文本段, startsWith()endsWith()includes()。我喜爱这个因为_indexof() _一直给我的印象是效率低、易出错。

字符串查找

数字类型检查

有几个新的函数用于检查非数字和有限数,Number.isNaN()Number.isFinite()

数字类型检查

这里有几点需要注意:

  • ES6中新的Number.isNaN()和全局的isNaN()不同之处在 这里 以及 这里有很好的讲解。

  • Infinity并不是真的无穷大,它只是一个代表无穷大的数值。它的真实值是 1.797693134862315E+308, -Infinity也是一样,它的值是-1.797693134862315E+308。

数字符号确定

ES6引入了一个新的函数Math.sign()用来确定一个数字的符号,包括特殊的 signed zero(-0)和非数字。

数字符号确定

这就是ES6新的内置方法。让我们知道你的想法和问题,请关注我们twitter,坚持下去。

如果您喜欢这篇文章,请推荐和分享,以帮助其他人找到它!