博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一些ES6新姿势
阅读量:7236 次
发布时间:2019-06-29

本文共 731 字,大约阅读时间需要 2 分钟。

原文:

对象属性分配

在处理对象的时候,你可能需要把多个对象合在一起,新的 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

转载地址:http://hxgfm.baihongyu.com/

你可能感兴趣的文章
实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣
查看>>
e297: write error in swap file
查看>>
并发错误:事务(进程 ID )与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品...
查看>>
Ubuntu下搭建Hyperledger Fabric v1.0环境
查看>>
EventBus 3.0使用详解
查看>>
Linux curl 一例
查看>>
【docker】【redis】1.docker安装redis【单点redis服务】
查看>>
Oracle数据库导入导出 imp/exp备份还原
查看>>
react-native-storage + AsyncStorage 实现数据存储
查看>>
Cobaltstrike、armitage联动
查看>>
pandas set_index和reset_index的用法
查看>>
[Bash] View Files and Folders in Bash
查看>>
PEACHPIE 0.9.11 版本发布,可以上生产了
查看>>
异常检测——局部异常因子(Local Outlier Factor ,LOF)算法
查看>>
记录一次广州白云区项目数据库连接失败问题的解决过程
查看>>
干货:Vue粒子特效(vue-particles插件)
查看>>
Silverlight自定义数据绑定控件应该如何处理IEditableObject和IEditableCollectionView对象...
查看>>
加密PDF为只读模式
查看>>
让你编写的控件库在 XAML 中有一个统一的漂亮的命名空间(xmlns)和命名空间前缀...
查看>>
MySQL数据库的锁详解【转】
查看>>