Añadir dinámicamente propiedades al objeto prototipo

Me preguntaba cuál sería la mejor forma de agregar propiedades al objeto prototipo de una función (o si es una buena idea).

Esto es lo que se me ocurrió:

['foo', 'bar'].forEach(function(method) {
    String.prototype[method] = resolve;
});

function resolve() {
    // Who the hell called me?
}

'str'.foo();

Estoy llamando a la misma funciónresolve() para todas las nuevas propiedades que agregué y debo verificar quién llamó a la función (nombre de la propiedad) para calcular una implementación basada en esa información. Todo es una cuestión de curiosidad, estoy haciendo algunas pruebas en implementaciones de API JavaScript locas.

¿Tienen alguna sugerencia para esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta