Object.create()和Object.assign()
生活随笔
收集整理的这篇文章主要介绍了
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()的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Spring事务处理流程和原理(动脑学院
- 下一篇: Behavior行为