一些ES6新姿势

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

对象属性分配

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

对象合并

一些ES6新姿势_第1张图片

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

合并有相同属性的对象

一些ES6新姿势_第2张图片

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

一些ES6新姿势_第3张图片

查找数组元素

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

一些ES6新姿势_第4张图片

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

字符串重复

ES6新增String.repeat()

一些ES6新姿势_第5张图片

字符串查找

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

一些ES6新姿势_第6张图片

Number类型检查

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

一些ES6新姿势_第7张图片

有两点需要注意:

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

判定数值正负

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

一些ES6新姿势_第8张图片

你可能感兴趣的:(ecmascript,es6,javascript,翻译)