Если я правильно понял твой вопрос, то так.
function Animal() {
...
...
this.life = new Life();
};
/**
* Объект жизни
*
* @type {Life}
*/
Animal.prototype.life = null;
/**
* Убить животное
*/
Animal.prototype.die = function () {
...
};
Т.е. в прототип я просто декларирую сам факт существования свойства, а не его значение (если конечно таковое не требуется).
Такой подход имхо удобен для чтения, а также дополнительный профит, что нормальная ИДЕ лучше автокомплитит по коду.
2) Какую статью? Я просто пробывал писать игрульки в своё время, 2-мерные, аля марио и т.д. и у меня как раз тормоза были на массивах препятствий и монстриков, после того как перешёл на типизированные, то всё исправилось, но на статью ссылку дай