Bugün bir kod incelemesi sırasında bir meslektaşım ilginç bir şey söyledi:
prototype
mirasa ihtiyaç duyduğunuzda - ve miras ne zaman iyi bir fikirdir ?
Bunu düşündüm ve ilk başta, kötü bir şekilde tasarlanan kodu bulmak için genellikle miras kullandığımı fark ettim. Modern OO tarzı mirasa bağlı olarak kompozisyonu tercih ediyor, ancak bunu kalbe alan ve gerçekten uygulayan dilleri bilmiyorum .
Sınıf temelli mirasa izin vermeyen sınıf, nesne, yöntem, arayüz ve benzeri genel amaçlı programlama dilleri var mı? (Eğer böyle bir fikir mantıklı değilse, neden olmasın?)
implements
anahtar kelime ve arayüzler kullanılarak (devlet mirasının aksine) ve extends
anahtar kelimenin kullanımıyla ortaya konan davranış , herhangi bir uygulamayı içeren sınıflarda).
new
, this
Ve prototype
tüm çok fazla IMO ortak kullanım için bir mayın tarlası vardır.
prototype
, örnekler arasında paylaşılması gereken genel yöntem ve özelliklere sahip olduğunuzda da kullanışlıdır. Ayrıcainstanceof
işleci JavaScript'te doğru kullanmanıza izin verdiği için de kullanışlıdırif (foo instanceof Foo) { ...
.