Appearance
Object 方法
来源:
js/基础/3方法.html
速查导航
- delete 操作符 — 删除对象自身属性
- Object.is — 精确相等判断
- Object.assign — 浅合并对象
- Object.create — 创建纯对象(无原型链)
- Object.keys / values / entries — 键名/键值/键值对数组
- Object.fromEntries — 从 [键, 值] 对创建对象
- getOwnPropertyDescriptor — 获取属性描述符
- getOwnPropertyDescriptors — 获取所有属性描述符
- setPrototypeOf / getPrototypeOf — 原型链操作
delete 操作符
- 对象直接获取
prototype是获取不到的,因为这相当于获取对象上一个叫prototype的属性delObj.__proto__.b = 2这样也可以找到原型delete delObj.b删除不了原型上的属性delete Object.getPrototypeOf(delObj).b直接跑去原型删可以delete delObj删除不了变量
js
Object.is
与 === 类似,但有两个不同:+0 !== -0,NaN === NaN。
js
Object.assign
合并对象,合并时同名属性后者直接替换前者。
js
Object.create
创建一个纯对象(无原型链),不会继承 toString 等方法。
js
Object.keys / values / entries
keys() / values() / entries() 分别遍历键名、键值、键名+键值,相当于对象转数组方法,转化之后数组方法随便调用。
js
Object.fromEntries
fromEntries 是 entries 的逆操作,从 [键, 值] 对创建对象。
js
相关方法:
hasOwnProperty()— 判断是否是原型属性Object.hasOwn()— 判断是否自身属性
Object.getOwnPropertyDescriptor
js
enumerable: false的属性会被以下 4 个操作忽略:
for...in— 只遍历对象自身的和继承的可枚举属性Object.keys()— 返回对象自身的所有可枚举属性的键名JSON.stringify()— 只串行化对象自身的可枚举属性Object.assign()— 忽略enumerable为false的属性
Object.getOwnPropertyDescriptors
js
Object.setPrototypeOf / getPrototypeOf
针对对象原型的操作。
js