欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Object.create()和Object.assign()

发布时间:2025/4/14 编程问答 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Object.create()和Object.assign() 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、Object.create()

该方法用于创建一个新对象,并为其指定原型对象和属性。

语法:Object.create(prototype,description);

proto:(必须),表示新建对象的原型对象,即该参数会被赋值到目标对象(即新对象)的原型上。该参数可以是null,对象等。

description:(可选),添加到新创建对象的可枚举属性。(是其自身的属性,而不是原型链上的枚举属性)

//new Object()方式创建 var a={name:1} var b=new Object(a); console.log(b);//{name:1} console.log(b.__proto__);//{} console.log(b.name);//1//Object.create()方式创建 var a={name:1} var b=Object.create(a); console.log(b);//{} console.log(b.__proto__);//{name:1} console.log(b.name);//1

 

对象的属性包含value特性、writable特性(该对象属性是否可修改)、enumerable特性(是否可枚举)和configurable特性

var obj=Object.create({},{"a":{value:1,configurable:false,enumerable:true,writable:true},"b":{value:2,configurable:false,enumerable:true,writable:true} }) console.log(obj.a);//1

 

除了Object.create()可以这样使用,还有Object.defineProperity()

 

 

二、Object.assign(target,source)

用途:将一个或多个源对象的值复制到目标对象上。(类似于$.extend()方法)

合并对象

var first={name:'Bob'}; var last={lastname:'smith'} var p=Object.assign(first,last); console.log(p);//{name: "Bob", lastname: "smith"}

克隆对象

var obj = { person: "Bob Smith"}; var clone = Object.assign({}, obj); console.log(obj);//{ person: 'Bob Smith' }

 

转载于:https://www.cnblogs.com/xiaoan0705/p/11448466.html

总结

以上是生活随笔为你收集整理的Object.create()和Object.assign()的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。