關閉→
當前位置:知科普>IT科技>assign - js

assign - js

知科普 人氣:1.21W

assign( )方法,用於將所有可枚舉的屬性的值從一個或多個源對象複製到目標對象,它將返回目標對象。在考慮對象複製時,用assign( )方法,將源對象屬性拷貝到目標對象, 創建一個新的對象,在空對象上做操作,可以避免直接賦值後,對象之間的相互影響。

js 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() 。

js assign 第2張

TAG標籤:#js #assign #