Parce que tu assignes au prototype de Collision un nouvel objet construit à partir d'Interface :
Collision.prototype = new Interface();
Or, en faisant ce simple new Interface(); sans aucun paramètre, this.implementation est donc undefined.
De plus que fait Interface.call(this, implementation); ? Ça exécute la fonction Interface qui fait quoi ? Applique implementation à this. Or, qui est this au moment de l'appel de la fonction ? L'objet inter ... Fais un console.log(inter) et tu t'apercevras que ton implementation n'est pas undefined. Tu ne l'attendais pas au bon endroit voilà tout.
Sinon, tout ça m'a l'air bien compliqué. Je ne vois pas trop l'utilité de tout ça. A quoi ça sert ??
Partager