1、Object.is()

Object.is()它用来比较两个值是否严格相等,与严格比较运算符( === )的行为基本一致,是在三等号判断的基础上新增了两个不同之处。

Object.is()不同之处只有两个:一是+0不等于-0,二是NaN等于自身

语法:
Object.is(value1, value2);
传入两个要比较的值,判断是否相同,全等的话返回true,不全等返回false。

三等号既要判断值的类型是否相等,还要判断引用地址是否相等。所以Object.is()也是,在判断对象和数组这些引用类型的数据是不相等的。

2、Object.assign()

Object.assign()方法用于对象的合并,将源对象( source )的所有可枚举属性,复制到目标对象( target )。

注意:
这里是浅拷贝!!
如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性!!

let obj1 = {a:{b:1},b:22};
let obj2 = Object.assign({b:11},obj1);
console.log(obj2); // {b:22,a:{b:1}}
//修改obj1的属性值
obj1.a.b = 2;
//这时会影响到obj2的属性值,这就是浅拷贝导致的
console.log(obj2.a.b); // 2
3、Object.keys()、Object.values()、Object.entries()

Object.keys()方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名数组。

Object.values()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值数组。

Object.entries()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对数组。

let obj = {name:"winne",age:22};
let objKeys = Object.keys(obj);
let objValues = Object.values(obj);
let objItem = Object.entries(obj);console.log(objKeys);   //["name","age"]
console.log(objValues); //["winne",22]
console.log(objItem);   //[["name","winne"],["age",22]]

取出了想要的部分,我们就可以遍历数组取得每一项了。


//for..of遍历for( let key of objKeys){console.log(key)
}
//name
//age//forEach遍历
objKeys.forEach(function(item,index){console.log(item,index);
})
//name  0
//age   1

ES6中Object新增方法相关推荐

  1. ES6中对象新增方法

    1.object.is()判断两个值是否相等 <script type="text/javascript">var flag1 = Object.is('foo', ' ...

  2. ES6中字符串新增方法

    1.重复输出字符串 string.repeat() <script type="text/javascript">var str = "by";co ...

  3. 23~49(构造函数+继承+类的本质+ES5中的新增方法)

    1 构造函数和原型 1.1 概述 在典型的OOP的语言中(如Java),都存在类的概念,类就是对象的模板,对象就是类的实例,但在ES6之前,JS中并没用引入类的概念. ES6,全称ECMAScript ...

  4. java的object有show_Java中 Object的方法

    Java中 Object的方法 构造方法摘要 Object() 方法摘要 protected Object clone() 创建并返回此对象的一个副本. boolean equals(Object o ...

  5. es6中的map方法

    es6中的map方法 一.简单的说明 map是一种数据结构,类似于对象,但是里面的键的值可以是各种类型,包括对象也行 //声明Maplet m = new Map();m.set('name','zh ...

  6. JavaScript ES6中Object的新增方法

    在 ES6 中,添加了Object.is().Object.assign().Object.keys().Object.values().Object.entries()等方法. 1. Object. ...

  7. JavaScript高级之ES5 中的新增方法

    3.1 ES5 新增方法概述 ES5 中给我们新增了一些方法,可以很方便的操作数组或者字符串,这些方法主要包括: 数组方法 字符串方法 对象方法 3.2 数组方法 迭代(遍历)方法:forEach() ...

  8. php object keys_原生js中Object.keys方法详解

    实际开发中,有时需要知道对象的所有属性,原生js提供了一个方法Object.keys(). Object.keys(obj)返回的是一个数组,该数组的所有元素都是字符串.这些元素是来自于给定的obj可 ...

  9. ES6中object对象属性

    //es5中定义对象属性要么字面量.要么点.要么[],变量与空格在这些方法中没有得到好的支持 /在es6中可以这么定义: let w='www'; let obj1={w};//obj1={w:'ww ...

最新文章

  1. 向MPEG创始人Leonardo Chiariglione提问
  2. HTML,CSS,JaveScript
  3. 监听文件变化并自动运行 npm script
  4. python需要学多长时间
  5. visual studio能统计代码规模吗_描述统计之用——熟悉数据
  6. Python图像纹理分割
  7. 学计算机专业选择设计为类需要艺考,想学设计必须参加艺考吗?设计学类专业,新高考选科怎么选?...
  8. Raki的nlp-begginer 提问
  9. android开机优化-framework
  10. matlab 使用uci数据集,如何使用UCI数据集
  11. 数据库mysql5.7 sqlyog的安装
  12. 书单 | 深度学习修炼秘籍
  13. 解决WPS页码上有小横线问题
  14. eclipse设置背景图片(并非更换主题)
  15. 【炼数成金 NOSQL引航 一 】 进入NoSQL世界;NoSQL与SQL的战争
  16. 关于sbb eax, eax以及sbb eax, 0FFFFFFFFh指令连用
  17. 小程序接入h5页面_小程序与H5如何互相跳转
  18. IDEA的debug调试功能
  19. STM8L051 同时使用RTC和USART通信
  20. 半加器——Verilog HDL语言

热门文章

  1. Nginx 代理 TCP协议 MySQL连接
  2. Centos7的yum配置本地源及利用yum安装google
  3. 小米android7.1机型,心目中最牛逼的小米旗舰机:支持安卓7.1+骁龙801
  4. 安装LNMP环境并跑一个CI框架demo
  5. openlayers 在圆的边上添加文字
  6. oracle添加clob字段,oracle数据库clob字段处理
  7. 计算机维护方面的基础知识,电脑维护常识大全,安全上网的基本知识
  8. 我的邮箱客户端程序Popmail
  9. SAP Workflow 工作流开发步骤总结
  10. java rowmapper 通用实现_Spring JdbcTemplate 查询方法中的RowMapper实现汇总