Dog.prototype = Object.create(Animal.prototype)
和的結果有什么區別 Dog.prototype = {...Animal.prototype}
?
uj5u.com熱心網友回復:
如果您創建一個新物件(使用擴展運算子的淺拷貝功能),則對原始物件的更改將不會應用于新物件。
uj5u.com熱心網友回復:
從表面上看,一個只是復制屬性,另一個基本上是創建一個新的副本Animal
:
解構副本還復制源物件中的所有參考,因此更改Dog
可能會影響Animal
,這可能不是您想要的。
uj5u.com熱心網友回復:
有幾個不同之處,包括:
{...Animal.prototype}
將創建一個獨立的原型,過自己的生活,不知道可能帶來的財產分配Animal.prototype
{...Animal.prototype}
僅復制可列舉的屬性,并且由于某些方法可能不是,您會錯過它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/494306.html
標籤:javascript javascript 对象 原型
上一篇:具有相同鍵的物件的總和值
下一篇:如何將父組件的類嵌套在子組件中?