MDN, .setPrototypeOf()
kullanmanın kodunuzun gelecekteki performansı üzerinde olumsuz bir etkisi olacağını belirtti.setPrototypeOf'un performans etkisinin yeni bir Nesne üzerindeki etkisi nedir?
Ayrıca bir nesnenin [[Prototip]] 'inin değiştirilmesinin neden performansı düşüreceğiyle ilgili birkaç Soru okurum. Ancak cevapların hiçbiri arka planda neler olup bittiğini açıklamadı. Bu yüzden yeni Nesneler için de geçerli olup olmadığını merak ediyorum.
Özellikle Gerçekten bu gibi şeyler yapmak istiyorum: o değişmezi düz bir nesne kabul etmez çünkü
var MyPrototype = {
method1 : function(){...},
method2 : function(){...},
...
};
var newObject = Object.setPrototypeOf({
property : 1,
property2 : 'text'
}, MyPrototype);
Maalesef Object.create
ile bunu yapamaz.
setPrototypeOf
kullanımım, yürütme JS motorunun performansını da azaltır mı?
var NewObject = Object.create (MyPrototype, { "özellik1": {değeri: 1}, "özellik2": {değeri: text '}}); – Data
Bunu biliyorum ama sanırım Object.create() 'özellikleri nesnesi çoğu durumda çok ağır. Her zamanki nesneyi yazmayı tercih ederim. 'Value' özelliği ile ek alt nesneler olmadan çok fazla karmaşıklığı önleyebilirsiniz. – Jovan
Yani, [Neden performans için kötü bir nesnenin * \ [\ prototype \] \] * öğesini mutasyona uğratıyorsunuz?] (Http://stackoverflow.com/q/23807805/1048572)? – Bergi