ES6 对象新增API

Object(是函数)的新增 API: 下面的方法都是 Object 函数上面的方法

  1. Object.is

用于判断两个数据是否相等,基本上跟严格相等(三个等号)是一致的,除了一下两点:

  • NaN 和 NaN 相等
  • +0 和-0 不相等
// 但是是不符合常理的,因为js是安装二进制存储的,他们的符号不一样肯定就不想等
console.log(NaN === NaN); // false
console.log(+0 === -0); // true

// es6
console.log(Object.is(+0, -0)); // false
console.log(Object.is(NaN, NaN)); // true
  1. Object.assign

  2. Object.getOwnPropertyNames 的枚举顺序

排序顺序如下:

  • 先排数字,并按照升序排序
const obj = {0: 'a', 5: 'b', 3: 'c'}; 
Object.getOwnPrototyNames(obj) // ['0', '3', '5']
  • 再排其它,按照书写顺序排序
  1. Object.setPrototypeOf --- 可以用在圣杯模式,但是没有必要,因为 es6 有了更牛逼的方法。
  • 该函数用于设置某个对象的隐式原型,也就是修改原型,之前是很难做到的,现在比较简单
Object.setPrototypeOf(obj1, obj2)

相当于: `obj1.__proto__ = obj2`
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.属性的简洁表示法 允许直接写入变量和函数 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量...
    雨飞飞雨阅读 1,313评论 0赞 3
  • 前面的话 随着JS应用复杂度的不断增加,开发者在程序中使用对象的数量也在持续增长,因此对象使用效率的提升就变得至关...
    CodeMT阅读 983评论 0赞 0
  • 属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。 上面代码表明,ES6允许在对象之中,直接写...
    oWSQo阅读 603评论 0赞 0
  • JavaScript面向对象程序设计 本文会碰到的知识点:原型、原型链、函数对象、普通对象、继承 读完本文,可以学...
    moyi_gg阅读 880评论 0赞 2
  • 属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6允...
    呼呼哥阅读 3,068评论 0赞 2

友情链接更多精彩内容