6

原文: Javascript ES6 — Exploring the New Built-In Methods

对象属性分配

在处理对象的时候,你可能需要把多个对象合在一起,新的 Object.assign()函数可以简洁地做到这件事。

对象合并

Object.assign merge

我们的目标是把2-4行的对象合并为一个对象。ES5的话你需要循环几个对象然后把属性赋值到目标对象,但是在ES6你只需要一行代码(15行)。
合并有相同属性的对象会发生什么情况?请看↓

合并有相同属性的对象

clipboard.png

你也可以用 Object.assign()来克隆对象

Object.assign clone

查找数组元素

对于数组我们经常会查找其中是否有某个元素,在ES6有两个数组的新方法find()findIndex()需要注意的是find()只返回符合要求的第一个元素。那么我们看看ES6的新方法和相同效果在ES5怎么写。

clipboard.png

第7行和12行想过一样,12行的ES6版看起来就简单很多。14行是返回第一个找到元素的索引,ES5没有对应方法。

字符串重复

ES6新增String.repeat()

string repeating

字符串查找

ES6有三个新方法帮助开发者在字符串中查找关键字,分别是String. startsWith()endsWith()includes()。我十分喜欢这几个方法,真是受够用低效还容易出错的indexOf()了。

string searching

Number类型检查

检查有限数的方法Number.isFinite(),以及检查NaN的方法Number.isNaN()

number type checking

有两点需要注意:

  • Number.isNaN()和全局的isNaN()的区别,请点击这里这里
  • 无限实际上不是真正的无限,而是一个代表无限的值。实际上这个值是1.797693134862315E+308。负无限则是-1.797693134862315E+308。

判定数值正负

Math.sign(),结果包括NaN和-0。

number sign determination


ssshooter
3.7k 声望1.8k 粉丝