1、Object.assign(target,...sources)方法用于将自身所有可枚举属性(继承而来的属性不行)的值(原始类型会被包装为对象,只有字符串的包装对象才可能有自身可枚举属性)从一个或多个源对象复制到目标对象(不会跳过值为null或undefined的源对象),并且返回一个新的目标对象(目标对象自身也会被改变)。
2、Object.create(proto,[propertiesObject])创建一个新对象,使用现有的对象来提供新创建的对象的_proto_原型,第二个参数是添加到新创建的对象的可枚举属性(是自身的属性,不是原型链上的属性)对象的属性描述符以及相应的属性的名称,属性分成数据属性(configurable\writable\enumerable\value,除了value外,其他特性默认为false)和访问器属性(configurable\enumerable\get\set),写法为
o2=Object.create( { }, { p:
{value:42,
writable:true,
enumerable:true,
configurable:true
}
});
3、Object.dedinedProperty(obj,prop,descriptor)直接在一个对象上(obj)定义一个新属性(prop),或者修改一个对象的现有属性,并返回这个对象,第三个参数与Object.create的第二个参数一样
网友评论