Las potencias expresan multiplicaciones repetidas y las raíces permiten recorrer el camino inverso. Son esenciales para áreas, volúmenes, escalas, distancias, crecimiento y modelos matemáticos.
Las potencias y las raíces aparecen en muchos problemas de programación. Se usan para calcular áreas y volúmenes, medir distancias, modelar crecimiento, transformar escalas, trabajar con gráficos y aplicar fórmulas científicas.
Una potencia representa una multiplicación repetida. Una raíz responde una pregunta inversa: qué número, elevado a cierta potencia, produce el valor indicado.
En JavaScript podemos calcular potencias con el operador ** o con Math.pow(). Para raíces cuadradas se usa frecuentemente Math.sqrt().
Una potencia tiene una base y un exponente. La base es el número que se multiplica y el exponente indica cuántas veces se repite esa multiplicación.
En esta expresión, 2 es la base y 3 es el exponente.
console.log(2 ** 3);
console.log(5 ** 2);
console.log(10 ** 4);
El operador ** permite escribir potencias de forma directa en JavaScript.
JavaScript también ofrece la función Math.pow(base, exponente). Es equivalente al operador **, aunque actualmente el operador suele ser más claro para expresiones simples.
console.log(Math.pow(2, 3));
console.log(Math.pow(5, 2));
console.log(Math.pow(10, 4));
Ambas formas son válidas. En este curso usaremos principalmente ** por ser más parecido a una expresión matemática.
Elevar al cuadrado significa usar exponente 2. Elevar al cubo significa usar exponente 3. Estos casos son muy comunes porque se relacionan con áreas y volúmenes.
| Expresión | Lectura | Uso frecuente |
|---|---|---|
| lado² | lado al cuadrado | Área de un cuadrado |
| lado³ | lado al cubo | Volumen de un cubo |
| radio² | radio al cuadrado | Área de un círculo |
const lado = 4;
const areaCuadrado = lado ** 2;
const volumenCubo = lado ** 3;
console.log(areaCuadrado);
console.log(volumenCubo);
Todo número distinto de cero elevado a 0 da 1. Todo número elevado a 1 queda igual. Estas reglas aparecen al simplificar fórmulas y al trabajar con algoritmos.
console.log(7 ** 0);
console.log(7 ** 1);
console.log(7 ** 2);
Estos casos ayudan a entender cómo cambia el resultado cuando modificamos el exponente.
Las potencias de 10 son importantes porque se usan para expresar números grandes, unidades de medida, memoria, escalas y notación científica.
console.log(10 ** 1);
console.log(10 ** 2);
console.log(10 ** 3);
console.log(10 ** 6);
En el próximo tema veremos cómo estas potencias se relacionan con la notación científica.
Un exponente negativo representa el inverso de una potencia. Por ejemplo, 10⁻² equivale a 1 / 10², es decir, 0.01.
console.log(10 ** -1);
console.log(10 ** -2);
console.log(2 ** -3);
Los exponentes negativos son útiles para representar números pequeños y escalas reducidas.
Una raíz busca el número que, elevado a cierta potencia, produce el valor original. La raíz cuadrada busca el número que elevado al cuadrado da el valor indicado.
En JavaScript, la raíz cuadrada se calcula con Math.sqrt().
console.log(Math.sqrt(25));
console.log(Math.sqrt(81));
console.log(Math.sqrt(2));
Algunas raíces producen números exactos y otras producen aproximaciones decimales.
Una raíz también puede expresarse como una potencia con exponente fraccionario. Por ejemplo, la raíz cuadrada equivale a elevar a 1/2, y la raíz cúbica equivale a elevar a 1/3.
console.log(25 ** (1 / 2));
console.log(27 ** (1 / 3));
console.log(64 ** (1 / 3));
Los paréntesis son importantes en 1 / 2 y 1 / 3 para que el exponente se interprete correctamente.
JavaScript incluye Math.cbrt() para calcular raíces cúbicas. Esta función puede ser más clara que escribir el exponente 1 / 3.
console.log(Math.cbrt(27));
console.log(Math.cbrt(64));
console.log(Math.cbrt(125));
La raíz cúbica aparece en problemas de volumen, escalas tridimensionales y algunos modelos físicos.
Una de las aplicaciones más frecuentes de potencias y raíces es el cálculo de distancias. En un plano, la distancia entre dos puntos puede obtenerse con el teorema de Pitágoras.
const x1 = 2;
const y1 = 3;
const x2 = 8;
const y2 = 11;
const diferenciaX = x2 - x1;
const diferenciaY = y2 - y1;
const distancia = Math.sqrt(diferenciaX ** 2 + diferenciaY ** 2);
console.log(distancia);
Este tipo de cálculo aparece en videojuegos, mapas, gráficos, simulaciones y geometría computacional.
Una potencia también sirve para representar crecimiento repetido. Si un valor se multiplica por el mismo factor varias veces, estamos ante un crecimiento exponencial.
const valorInicial = 100;
const factor = 1.10;
const periodos = 3;
const valorFinal = valorInicial * factor ** periodos;
console.log(valorFinal);
Este patrón aparece en intereses compuestos, crecimiento de usuarios, propagación de procesos y modelos de datos.
Muchas raíces y potencias no pueden representarse de forma exacta con un número decimal finito. Por eso JavaScript devuelve aproximaciones.
const raizDeDos = Math.sqrt(2);
const cuadrado = raizDeDos ** 2;
console.log(raizDeDos);
console.log(cuadrado);
El resultado puede estar muy cerca del valor matemático esperado, aunque internamente sea una aproximación. Esto es normal en cálculos con números decimales.
console.log(25 ** 1 / 2);
console.log(25 ** (1 / 2));
console.log(Math.sqrt(-9));
Estos ejemplos muestran por qué conviene escribir expresiones claras y validar los valores cuando sea necesario.
Las potencias y raíces amplían las operaciones básicas y permiten resolver problemas donde aparecen áreas, volúmenes, escalas, distancias y crecimiento. En programación son herramientas cotidianas, especialmente cuando trabajamos con gráficos, simulaciones, datos y modelos matemáticos.
En el próximo tema veremos notación científica y números muy grandes o muy pequeños.