Object.create()和Object.assign()
生活随笔
收集整理的這篇文章主要介紹了
Object.create()和Object.assign()
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、Object.create()
該方法用于創(chuàng)建一個新對象,并為其指定原型對象和屬性。
語法:Object.create(prototype,description);
proto:(必須),表示新建對象的原型對象,即該參數(shù)會被賦值到目標對象(即新對象)的原型上。該參數(shù)可以是null,對象等。
description:(可選),添加到新創(chuàng)建對象的可枚舉屬性。(是其自身的屬性,而不是原型鏈上的枚舉屬性)
//new Object()方式創(chuàng)建 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()方式創(chuàng)建 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)
用途:將一個或多個源對象的值復(fù)制到目標對象上。(類似于$.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' }?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaoan0705/p/11448466.html
總結(jié)
以上是生活随笔為你收集整理的Object.create()和Object.assign()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring事务处理流程和原理(动脑学院
- 下一篇: Behavior行为