扩展对象的功能性
ES6 的其中一个设计目标是:不再创建新的全局函数,也不在 Object.prototype
创建新的(所有对象都能继承的)方法。但是 Object
上还是增加了一些静态的方法。
- 对象字面量语法扩展:每天都在用,应该成为日常再也不要回去了
- 对象属性枚举顺序:ES5 中未定义,由 JavaScript 引擎厂商自定实现,引起了混乱。ES6 中做了严格规定,这会影响一些方法获取对象属性的结果。但仍然无法保证对象属性的次序按你希望的方式进行。规范是:所有数字键升序排序 -> 所有字符串键按加入次序排在后面 -> 所有 Symbol 键按加入次序再排在后面
super
关键字:对于获取基类中的同名属性有帮助。其他动态引用和多重继承的场景太复杂用不到- 可计算属性名:据经验,一般是在
reduce
的时候用到。做一般业务时不推荐过度使用,其动态特性类似于反射,不好追溯 - [无场景]
Object.is
:主要用来弥补===
在处理+0 === -0
和3 === NaN
上的错误处理。如果你的代码不需要处理这两个特殊情况,一律用===
就够了 - [无场景]
Object.setPrototypeOf
:太过动态了吧,这样玩不会出事吗 - [弃用]
Object.assign
:有副作用,应该一律用对象解构来替代 - [弃用] 对象方法的简写语法:在对象上定义方法,一般都用类。这个特性我觉得不应该有使用场景
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: JavaScript 生成器之精髓
下一篇: ES6 改进的数组功能
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论