Javascript: ¿Cómo evitar la adición de una nueva propiedad en una función?

Soy un novato de JS, leyendo un libro.Patrones de Javascript para entender. Uno de los fragmentos de código que pude ver:

var myFunc = function param() {
...
...
};
myFunc.cache={};

Esto indica que cualquier persona fuera del cuerpo de la función puede agregar una nueva propiedad. ¿No rompe esta encapsulación? ¿Qué sucede si alguna otra parte del programa continúa agregando nuevas propiedades que hacen que la creación de mi objeto sea voluminosa? ¿Qué pasa si alguien borra / modifica las propiedades definidas por mí?

No sé si estoy en lo cierto al llamar a esto un "problema". Pero si lo es, por favor ayuda con un enfoque para evitar esto.

Gracias !

Respuestas a la pregunta(3)

Su respuesta a la pregunta