JavaScript中处理对象的方法主要分为以下几类:
- 对象属性操作方法:
- 添加属性:
obj.prop = value或obj["prop"] = value - 删除属性:
delete obj.prop - 修改属性:直接重新赋值即可
- 检查属性:
hasOwnProperty()判断对象是否具有指定属性 - 枚举属性:
Object.keys()获取对象自身可枚举属性数组
- 对象复制与合并方法:
Object.assign():将一个或多个源对象的可枚举属性复制到目标对象Object.create():创建一个新对象,使用现有对象作为新对象的原型Object.entries():返回对象自身可枚举属性的键值对数组Object.values():返回对象自身可枚举属性值的数组
- 对象保护方法:
Object.freeze():冻结对象,防止被修改Object.seal():密封对象,防止添加/删除属性Object.preventExtensions():阻止对象扩展
- 对象继承相关方法:
- 构造函数继承:通过
call/apply改变this指向实现继承 - 组合继承:结合构造函数和原型链继承
- 寄生组合继承:使用
Object.create()优化组合继承 - ES6类继承:通过
extends关键字实现继承
- 其他实用方法:
Object.is():比较两个值是否相同Object.getPrototypeOf():获取对象的原型Object.setPrototypeOf():设置对象的原型toString():返回表示对象的字符串