Hvis du målretter ikke-nettleser miljøer som node.js vil dette være mulig, fordi du vil være i stand til å passere referanser til modulens globale medlemmer, for eksempel Array, til andre moduler. De andre modulene kan deretter forlenge vedtatt i objektet og / eller dets prototyp med ekstra funksjonalitet som vil være kun tilgjengelig med kallet modulen. Andre moduler måtte gjøre det samme for å få disse utvidelsene; derfor er konflikter minimert siden import er eksplisitt.
Men i leser miljøer dette ikke er tilfelle, siden det bare er ett windowobjekt og eventuelle endringer i dets medlemmer er tilgjengelig overalt. Så snart noen av modulene utvidet Arraydisse utvidelsene vil være tilgjengelig for alle andre moduler - øker muligheten for konflikter og gjør koden vanskeligere å grunn om.
Med det sagt, det er mønstre i JS, og derfor Loggfila, som skal gjøre hva du vil. Et slikt mønster er 'mixin' mønster som gjør at du kan legge på ekstra funksjonalitet på et objekt forekomst basis. Du kan skille gjenbrukbare koden i mixin moduler som deretter kan brukes til et objekt når det trengs, eller automatisk i konstruktører. Ta en titt på dette for en grei oversikt og implementering eksempler: http://javascriptweblog.wordpress.com/2011/05/31/a-fresh-look-at-javascript-mixins/