W3docs

Objeto Math de JavaScript

Aprende el objeto Math de JavaScript: redondeo, potencias, raíces, números aleatorios, trigonometría y constantes como Math.PI y Math.E, con ejemplos.

Introducción al objeto Math de JavaScript

Math es un objeto JavaScript incorporado que agrupa constantes y funciones matemáticas. A diferencia de la mayoría de los objetos, nunca se crea una instancia con newMath es estático, por lo que todo se llama directamente sobre él: Math.round(...), Math.PI, etc. Todos sus métodos trabajan con números y complementan los operadores aritméticos estándar (+, -, *, /, %, **).

Esta guía cubre qué hace cada método común, los errores frecuentes que confunden a los programadores (redondeo de negativos, generación de un número aleatorio en un rango, qué ocurre con entradas inválidas) y dónde aparecen estas funciones en código real como animaciones y finanzas.

Funciones Math más populares

FunciónDescripción
Math.abs(x)Devuelve el valor absoluto de x.
Math.ceil(x)Devuelve el entero más pequeño mayor o igual que x.
Math.floor(x)Devuelve el entero más grande menor o igual que x.
Math.round(x)Redondea x al entero más cercano.
Math.max(x, y, ...)Devuelve el mayor de cero o más números dados como parámetros.
Math.min(x, y, ...)Devuelve el menor de cero o más números dados como parámetros.
Math.pow(x, y)Devuelve x elevado a la potencia de y.
Math.sqrt(x)Devuelve la raíz cuadrada de x.
Math.cbrt(x)Devuelve la raíz cúbica de x.
Math.random()Devuelve un número pseudoaleatorio entre 0 y 1.
Math.log(x)Devuelve el logaritmo natural (base e) de x.
Math.log10(x)Devuelve el logaritmo en base 10 de x.
Math.exp(x)Devuelve e^x, donde x es el argumento y e es el número de Euler (aproximadamente 2.71828).
Math.sin(x)Devuelve el seno de x (x en radianes).
Math.cos(x)Devuelve el coseno de x (x en radianes).
Math.tan(x)Devuelve la tangente de x (x en radianes).
Math.asin(x)Devuelve el arcoseno de x en radianes.
Math.acos(x)Devuelve el arcocoseno de x en radianes.
Math.atan(x)Devuelve la arcotangente de x en radianes.
Math.atan2(y, x)Devuelve la arcotangente del cociente de sus argumentos (y/x).

Conceptos básicos: funciones principales de JavaScript Math

Math.round()

La función Math.round() redondea un número al entero más cercano. Si la parte fraccionaria es 0.5 o mayor, redondea hacia arriba; de lo contrario, redondea hacia abajo.

Ejemplo:

javascript— editable

Precaución — números negativos y .5: Math.round() siempre redondea hacia el infinito positivo en caso de empate, no "alejándose del cero." Esto hace que Math.round(-2.5) sea igual a -2, no a -3. Si necesitas simplemente eliminar la parte fraccionaria, usa Math.trunc() en su lugar.

javascript— editable

Math.ceil()

La función Math.ceil() redondea un número hacia arriba al siguiente entero mayor, independientemente de su parte fraccionaria.

Ejemplo:

javascript— editable

Math.floor()

Por el contrario, Math.floor() redondea un número hacia abajo al entero más cercano, descartando cualquier parte fraccionaria.

Ejemplo:

javascript— editable

Math.sqrt()

La función Math.sqrt() devuelve la raíz cuadrada de un número.

Ejemplo:

javascript— editable

Math.pow()

Math.pow() eleva un número a una potencia especificada. En JavaScript moderno puedes usar el operador de exponenciación ** para el mismo resultado — 4 ** 2 equivale a Math.pow(4, 2).

Ejemplo:

javascript— editable

Math.trunc() y Math.sign()

Math.trunc() elimina la parte fraccionaria de un número, dejando intacta la parte entera — nunca redondea. Esto lo hace predecible tanto para números positivos como negativos, a diferencia de Math.floor() (que redondea hacia -Infinity).

Math.sign() indica el signo de un número: 1 para positivo, -1 para negativo y 0 (o -0) para cero.

Ejemplo:

javascript— editable

Manejo de entradas inválidas: NaN

Los métodos Math no lanzan excepciones con entradas incorrectas — devuelven NaN ("Not a Number"). Por ejemplo, la raíz cuadrada de un número negativo, o cualquier método al que se le pasa un valor no numérico, produce NaN. Usa Number.isNaN() para detectarlo antes de confiar en un resultado.

Ejemplo:

javascript— editable

Operaciones avanzadas: trigonometría y más

Math.sin(), Math.cos(), Math.tan()

Estas funciones son esenciales para los cálculos trigonométricos, correspondientes al seno, coseno y tangente.

Ejemplo:

javascript— editable

Math.random()

Math.random() genera un número pseudoaleatorio entre 0 (inclusive) y 1 (exclusivo). Se usa ampliamente en el desarrollo de videojuegos y simulaciones.

Ejemplo:

javascript— editable

La necesidad más común — un entero aleatorio en un rango. Por sí solo, Math.random() raramente hace lo que necesitas; generalmente se requiere un número entero entre min y max. Escala el valor 0–1 y luego aplica floor. Esta fórmula devuelve un entero desde min hasta max inclusive:

javascript— editable

Ten en cuenta que Math.random() no es criptográficamente seguro. Para aleatoriedad sensible a la seguridad (tokens, contraseñas), usa crypto.getRandomValues() en su lugar.

Math.max() y Math.min()

Estas funciones devuelven el número mayor y el menor de un conjunto de argumentos, respectivamente.

Ejemplo:

javascript— editable

Aplicaciones en el mundo real: uso de funciones Math

Las funciones Math de JavaScript no son solo conceptos teóricos; tienen aplicaciones prácticas en diversos ámbitos como animaciones, cálculos financieros, computación científica y más.

Caso de estudio: animación con trigonometría

Considera una animación web en la que un objeto se mueve en un camino circular. Este movimiento se puede lograr usando las funciones Math.sin() y Math.cos().

// Circular motion parameters
let radius = 20;
let angle = 0;

function animateCircle() {
    let x = radius * Math.cos(angle);
    let y = radius * Math.sin(angle);
    angle += 0.01;
    // Update the object's position here
}

Herramienta de aprendizaje interactivo: crear un quiz matemático

Usando las funciones Math de JavaScript, se puede desarrollar un quiz matemático interactivo que desafíe a los usuarios con problemas aritméticos aleatorios.

javascript— editable

Explorando más: constantes Math y más allá

Más allá de las funciones, el objeto Math de JavaScript también proporciona varias constantes matemáticas importantes. Estas constantes no son solo valores fijos, sino que sirven como elementos fundamentales en cálculos complejos, especialmente en computación científica y matemática.

Math.PI

Math.PI representa la relación entre la circunferencia de un círculo y su diámetro. Es aproximadamente igual a 3.14159. Esta constante es esencial en cálculos que involucran círculos y esferas, como calcular el área de un círculo (Area = Math.PI * radius * radius) o la circunferencia (Circumference = 2 * Math.PI * radius).

Ejemplo:

javascript— editable

Math.E

Math.E, conocido como el número de Euler, es aproximadamente igual a 2.718. Es la base de los logaritmos naturales y se usa ampliamente en cálculos de crecimiento, interés compuesto y análisis de números complejos. En JavaScript, Math.E se usa frecuentemente con la función Math.exp(), que eleva Math.E a la potencia de un número dado.

Ejemplo:

javascript— editable

Math.LN2

Math.LN2 representa el logaritmo natural de 2, aproximadamente 0.693. Esta constante es especialmente útil en algoritmos que involucran cálculos logarítmicos, como calcular el tiempo de duplicación en modelos de crecimiento poblacional o en ciertos cálculos financieros.

Ejemplo:

javascript— editable

Otras constantes destacadas

  • Math.LN10: Esta constante representa el logaritmo natural de 10, útil para escalar datos logarítmicos.
  • Math.LOG2E: El logaritmo del número de Euler en base 2. Se usa para convertir logaritmos de base E a base 2.
  • Math.LOG10E: El logaritmo del número de Euler en base 10, usado en contextos similares a Math.LOG2E pero para logaritmos en base 10.
  • Math.SQRT1_2: Representa la raíz cuadrada de 1/2 y se usa frecuentemente en cálculos geométricos.
  • Math.SQRT2: La raíz cuadrada de 2, una constante que aparece con frecuencia en álgebra, geometría e ingeniería.

Aplicaciones prácticas de las constantes Math

Comprender y utilizar estas constantes puede mejorar significativamente la funcionalidad de tus aplicaciones JavaScript. Por ejemplo, en el desarrollo de videojuegos, Math.PI es indispensable para calcular trayectorias y rotaciones. En tecnología financiera, Math.E y sus constantes logarítmicas relacionadas son cruciales para calcular intereses compuestos y planes de amortización.

Conclusión

El objeto Math proporciona redondeo, potencias, raíces, aleatoriedad, trigonometría y un conjunto de constantes útiles — todo sin necesidad de importar nada. Los puntos clave a recordar: Math es estático (sin new), los empates en Math.round() redondean hacia +Infinity, Math.trunc() es la forma predecible de eliminar la parte fraccionaria, escala Math.random() para obtener un entero en un rango, y las entradas inválidas devuelven NaN en lugar de un error.

Temas relacionados

Práctica

Práctica
¿Cuáles de las siguientes afirmaciones sobre JavaScript Math son correctas?
¿Cuáles de las siguientes afirmaciones sobre JavaScript Math son correctas?
Was this page helpful?