Si vous ciblez des environnements non-navigateur comme Node.js ce sera possible parce que vous serez en mesure de passer des références aux membres globaux de votre module, par exemple Array, à d' autres modules. Ces autres modules peuvent alors étendre le passé dans l' objet et / ou son prototype avec des fonctionnalités supplémentaires qui sera uniquement accessible par le module d'appel. D' autres modules devraient faire la même chose afin d'obtenir ces extensions; Par conséquent, les conflits sont réduits au minimum puisque les importations sont explicites.
Cependant, dans des environnements de navigateur ce n'est pas le cas car il n'y a qu'un seul windowobjet et toute modification apportée à ses membres sont disponibles partout. Dès que l' un de vos modules étendu Arrayces extensions seront disponibles à tous les autres modules - de plus en plus la possibilité de conflits et de rendre le code plus difficile à raisonner sur.
Cela dit, il existe des modèles de JS, et donc tapuscrit, qui devrait accomplir ce que vous voulez. Un tel modèle est le modèle « mixin » qui vous permet d'ajouter des fonctionnalités supplémentaires sur un objet par exemple base. Vous pouvez séparer le code réutilisable en modules mixins qui pourraient ensuite être appliqués à un objet en cas de besoin, ou même automatiquement dans les constructeurs. Jetez un oeil à ce pour un aperçu décent et des exemples de mise en œuvre: http://javascriptweblog.wordpress.com/2011/05/31/a-fresh-look-at-javascript-mixins/