Bu, CoffeeScript'in extends
anahtar kelimesi tarafından oluşturulan JavaScript kodudur. Prototip zinciri nasıl kurulur?CoffeeScript'in `extends` anahtar kelimesiyle oluşturulan JavaScript kodu nasıl anlayabilirim?
var __hasProp = Object.prototype.hasOwnProperty,
__extends = function(child, parent) {
for (var key in parent) {
if (__hasProp.call(parent, key)) child[key] = parent[key];
}
function ctor() { this.constructor = child; }
ctor.prototype = parent.prototype;
child.prototype = new ctor;
child.__super__ = parent.prototype;
return child;
};
Hangi parçası sana sorun veriyor? –
bu satırı anlamıyor: 'ctor.prototype = parent.prototype; ' – powerboy
Blog gönderim detayı bunu. "ctor" bir * vekil * kurucu olarak adlandırılır. Ebeveynin prototipini kopyaladığınız ayrı bir kurucu. Sadece çocuğun mirasını kurmaya gerek kalmadan, 'child.prototype = new ctor' prototip zincirini kurar. Daha bilinen (ama problemli) kalıtımı ayarlama yolu, child.prototype = new parent' yapmaktır. Yine, blog gönderim, blog yazınızı okuduğum –