En Javascript todo son objetos. Number es el objeto base del que
heredan todos los números. Igual que String es el objeto base del que
heredan todas las cadenas.
Al hacer Number.prototipe.elevadoa = function() { ... } lo que estamos haciendo es asignar un elemento en el prototipo de Number, de modo que automáticamente es accesible por todos los números (que han heredado de Number).
Como hemos hecho la extensión a Number, y no a String, entonces si intentas hacer:
Código javascript
:
Ver originalvar a = "hola";
a.elevadoa(3);
no va a funcionar, porque te va a decir que a no tiene esa propiedad. De todos modos, tampoco tiene mucho sentido intentar calcular la potencia de algo que no es un número, ¿no?