1.Object.getPrototypeOf()
定义:方法用于获取指定对象的原型对象(也就是protp的指向)
语法:
Object.getPrototypeOf( obj )
返回值:一个表示给定对象的所有可枚举属性的字符串数组
实例:
const obj = {x:1,y:2}
console.log(Object.getPrototypeOf(obj))
- Object.keys()
定义:该数组包含给定对象的⾃身可枚举属性名
语法:Object.keys(obj)
返回值:该⽅法返回⼀个数组
实例:
const obj = {x:1,y:2}
const arr = Object.keys(obj)
console.log(arr)
3.Object.values()
定义:该数组包含给定对象的⾃身可枚举属性值
语法:Object.values(obj)
返回值:该⽅法返回⼀个数组
实例:
const obj = {x:1,y:2}
const arr = Object.values(obj)
console.log(arr)
- Object.entries()
定义:该数组包含给定对象的⾃身可枚举属性名和属性值
语法:Object.entries(obj)
返回值:该方法返回一个数组
实例:
5.Object.hasOwnProperty()
定义:检测⼀个属性是否是⾃身属性
语法:obj.hasOwnProperty(prop),对象.hasOwnProperty(属性名)
返回值:布尔值
实例:
/Object.hasOwnProperty()检查的⼀个属性是否是⾃身属性
const obj = {
x:1,
y:2
}
obj.o = 5
obj.__proto__.z = 3
Object.getPrototypeOf(obj).w = 4
//语法:对象.hasOwnProperty(属性名)
const r1 = obj.hasOwnProperty('o')//true
const r2 = obj.hasOwnProperty('w')//false
console.log(r1,r2);
6.Object.prototype.propertyIsEnumerable()
定义:该⽅法⽤于检测⾃身属性是否可枚举。
语法:obj.propertyIsEnumerable(prop)
返回值:布尔值
实例:
//obj.propertyIsEnumerable(prop)
const obj = {
x:1,
y:2,
z:3,
}
//请把y改成不可枚举 > 修改enumerable属性 > Object.defineProperty()
Object.defineProperty(obj,'y',{
enumerable:false
})
const r1 = obj.propertyIsEnumerable('x')
const r2 = obj.propertyIsEnumerable('y')
console.log(r1,r2);
- Object.assign()
定义: Object.assign() ⽅法将所有可枚举属性从⼀个对象复制到另⼀个对象。
语法:Object.assign(obj1,obj2)
返回值:修改后的对象。
实例:
const obj1 = { x: 1,y:5}
const obj2 = { y: 2, z: 3 }
obj2.__proto__.w = 4
Object.assign(obj1,obj2)
console.log(obj1) //输出{x:1,y:2,z:3}