对象属性分配
在处理对象的时候,你可能需要把多个对象合在一起,新的 Object.assign()
函数可以简洁地做到这件事。
对象合并
我们的目标是把2-4行的对象合并为一个对象。ES5的话你需要循环几个对象然后把属性赋值到目标对象,但是在ES6你只需要一行代码(15行)。
合并有相同属性的对象会发生什么情况?请看↓
合并有相同属性的对象
你也可以用 Object.assign()
来克隆对象
查找数组元素
对于数组我们经常会查找其中是否有某个元素,在ES6有两个数组的新方法find()
和findIndex()
。需要注意的是find()
只返回符合要求的第一个元素。那么我们看看ES6的新方法和相同效果在ES5怎么写。
第7行和12行想过一样,12行的ES6版看起来就简单很多。14行是返回第一个找到元素的索引,ES5没有对应方法。
字符串重复
ES6新增String.repeat()
字符串查找
ES6有三个新方法帮助开发者在字符串中查找关键字,分别是String. startsWith()
、endsWith()
、includes()
。我十分喜欢这几个方法,真是受够用低效还容易出错的indexOf()
了。
Number类型检查
检查有限数的方法Number.isFinite()
,以及检查NaN的方法Number.isNaN()
有两点需要注意:
-
Number.isNaN()
和全局的isNaN()
的区别,请点击这里和这里 - 无限实际上不是真正的无限,而是一个代表无限的值。实际上这个值是1.797693134862315E+308。负无限则是-1.797693134862315E+308。
判定数值正负
Math.sign()
,结果包括NaN和-0。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。