属性描述符:Property Descriptor是用来描述属性相关的信息
const obj = {
ame: "杨幂",
age: 18
}
console.log(Object.getOwnPropertyDexcriptor(obj,"name"))
//用属性描述符之后会返回一个新的对象,里面有四个属性,分别是
//configurable:true 默认为true,改为false后,表示改name属性就不能被属性描述符修改了
//enumerable:true 默认为true,改为false后,表示改name属性就不能枚举了
//value:"杨幂" name的属性值,可以修改
//writable:true 默认为true,改为false后,表示改name属性就不能重新赋值了
//还有另一个方法,Object.getOwnPropertyDescriptors可以打印对象中的所有属性描述
console.log(Object.getOwnPropertyDescriptors(obj))
getOwnPropertyDescriptor和getOwnPropertyDescriptors两种方法不同有两点:
1、写法上多了一个s
2、传参的形式不同,第一种传两个值,对象和属性名,打印该属性的属性描述;第二种传对象就能打印对象所有属性的属性描述