js的assign方法的用法是什么?一起了解一下吧!
assign( )方法,用于將所有可枚舉的屬性的值從一個或多個源對象復制到目標對象,它將返回目標對象。在考慮對象復制時,用assign( )方法,將源對象屬性拷貝到目標對象, 創建一個新的對象,在空對象上做操作,可以避免直接賦值后,對象之間的相互影響。
語法:
Object.assign(target, ...sources)
參數:
target: 目標對象
sources: 源對象
示例:
const object1 = { a: 1, b: 2, c: 3 }; const object2 = Object.assign({c: 4, d: 5}, object1); console.log(object2.c, object2.d); // expected output: 3 5
如果目標對象中的屬性具有相同的鍵,則屬性將被源中的屬性覆蓋。后來的源的屬性將類似地覆蓋早先的屬性。Object.assign 方法只會拷貝源對象自身的并且可枚舉的屬性到目標對象。該方法使用源對象的[[Get]]和目標對象的[[Set]],所以它會調用相關 getter 和 setter。因此,它分配屬性,而不僅僅是復制或定義新的屬性。如果合并源包含getter,這可能使其不適合將新屬性合并到原型中。為了將屬性定義(包括其可枚舉性)復制到原型,應使用Object.getOwnPropertyDescriptor()和Object.defineProperty() 。
以上就是小編收集整理出來的,望能夠幫助到大家。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com