Object.assign ()通过复制一个或多个对象来创建一个新的对象
var obj1 = { uname: "张三", age: 12 }
var obj2 = { school: "教育", address: "海淀" }
//合并对象
// var result = Object.assign(obj1, obj2)
// console.log(result)
// console.log(obj1)
Object.create () 使用指定的原型对象和属性创建一个新对象
Object.defineProperty () 给对象添加一个属性并指定该属性的配置
var obj={}
Object.defineProperty(obj,"uname",{
value:"张三",
enum
})
Object.defineProperties () 给对象添加多个属性并分别指定它们的配置
var obj = {}
Object.defineProperty(obj, "uname", {
value: "张三",
enumerable: true, //可枚举
writable: true, //可写
configurable: true //可删除
})
Object.entries () 返回给定对象自身可枚举属性的 [key, value] 数组
var obj = { uname: "张三", age: 21 }
console.log(Object.entries(obj))
Object.freeze() 冻结对象:代码不能删除或更改任何属性
var obj = { uname: "张三", age: 21 }
Object.freeze(obj)
console.log(obj)
obj.uname = "zhangsan"
obj.age = 100
console.log(obj)
delete obj.uname;
console.log(obj)
Object.isFrozen() 判断对象是否已经冻结
var obj = { uname: "张三", age: 21 }
var result = Object.isFrozen(obj)
console.log(result)
Object.seal()将对象密封
var obj = { uname: "张三", age: 21 }
// 把对象obj封闭
Object.seal(obj)
Object.isSealed() 判断对象是否已经密封
var obj = { uname: "张三", age: 21 }
// 把对象obj封闭
console.log(obj)
obj.address="北京" //不能添加
delete obj.uname; //不能删除
obj.uname="zhangsan" //可以修改
console.log(obj)
console.log(Object.isSealed(obj))
Object.getOwnPropertyDescriptor() 返回对象指定的属性配置
var obj = { uname: "张三", age: 21 }
var result = Object.getOwnPropertyDescriptor(obj, "uname")
console.log(result)
Object.getOwnPropertyNames() 返回一个数组,它包含了指定对象所有的可枚举或不可枚举的属性名
Object.getOwnPropertySymbols() 返回一个数组,它包含了指定对象自身所有的符号属性
Object.getPrototypeOf() 返回指定对象的原型对象
Object.is() 比较两个值是否相同。所有 NaN 值都相等(这与==和===不同)
Object.isExtensible()判断对象是否可扩展
Object.keys() 把对象的名序列化为数组
Object.values() 把对象的值序列化为数组
如果对你有帮助,请点个小小的赞吧~~~~~~~