Math

Math es un objeto incorporado que tiene propiedades y métodos para constantes y funciones matemáticas. No es un objeto de función.

Math funciona con el tipo Number. No funciona con BigInt (en-US).

Descripción

A diferencia de los demás objetos globales, el objeto Math no se puede editar. Todas las propiedades y métodos de Math son estáticos. Usted se puede referir a la constante pi como Math.PI y puede llamar a la función seno como Math.sin(x), donde x es el argumento del método. Las constantes se definen con la precisión completa de los números reales en JavaScript.

Propiedades

Math.E

Constante de Euler, la base de los logaritmos naturales, aproximadamente 2.718.

Math.LN2

Logaritmo natural de 2, aproximadamente 0.693.

Math.LN10

Logaritmo natural de 10, aproximadamente 2.303.

Math.LOG2E

Logaritmo de E con base 2, aproximadamente 1.443.

Math.LOG10E

Logaritmo de E con base 10, aproximadamente 0.434.

Math.PI

Ratio de la circunferencia de un circulo respecto a su diámetro, aproximadamente 3.14159.

Math.SQRT1_2

Raíz cuadrada de 1/2; Equivalentemente, 1 sobre la raíz cuadrada de 2, aproximadamente 0.707.

Math.SQRT2

Raíz cuadrada de 2, aproximadamente 1.414.

Métodos

Nota: Tenga en cuenta que las funciones trigonométricas (sin(), cos(), tan(), asin(), acos(), atan(), atan2()) devuelven ángulos en radianes. Para convertir radianes a grados, divida por (Math.PI / 180), y multiplique por esto para convertir a la inversa.

Nota: Tenga en cuenta que muchas de las funciones matemáticas tienen una precisión que es dependiente de la implementación. Esto significa que los diferentes navegadores pueden dar un resultado diferente, e incluso el mismo motor de JS en un sistema operativo o arquitectura diferente puede dar resultados diferentes.

Math.abs(x)

Devuelve el valor absoluto de un número.

Math.acos(x)

Devuelve el arco coseno de un número.

Math.acosh(x)

Devuelve el arco coseno hiperbólico de un número.

Math.asin(x)

Devuelve el arco seno de un número.

Math.asinh(x)

Devuelve el arco seno hiperbólico de un número.

Math.atan(x)

Devuelve el arco tangente de un número.

Math.atanh(x)

Devuelve el arco tangente hiperbólico de un número.

Math.atan2(y, x)

Devuelve el arco tangente del cuociente de sus argumentos.

Math.cbrt(x)

Devuelve la raíz cúbica de un número.

Math.ceil(x)

Devuelve el entero más pequeño mayor o igual que un número.

Math.clz32(x) (en-US)

Devuelve el número de ceros iniciales de un entero de 32 bits.

Math.cos(x)

Devuelve el coseno de un número.

Math.cosh(x) (en-US)

Devuelve el coseno hiperbólico de un número.

Math.exp(x)

Devuelve Ex, donde x es el argumento, y E es la constante de Euler (2.718...), la base de los logaritmos naturales.

Math.expm1(x)

Devuelve ex - 1.

Math.floor(x)

Devuelve el mayor entero menor que o igual a un número.

Math.fround(x) (en-US)

Devuelve la representación flotante de precisión simple más cercana de un número.

Math.hypot([x[, y[, …]]])

Devuelve la raíz cuadrada de la suma de los cuadrados de sus argumentos.

Math.imul(x, y) (en-US)

Devuelve el resultado de una multiplicación de enteros de 32 bits.

Math.log(x)

Devuelve el logaritmo natural (log, también ln) de un número.

Math.log1p(x) (en-US)

Devuelve el logaritmo natural de x + 1 (loge, también ln) de un número.

Math.log10(x)

Devuelve el logaritmo en base 10 de x.

Math.log2(x)

Devuelve el logaritmo en base 2 de x.

Math.max([x[, y[, …]]])

Devuelve el mayor de cero o más números.

Math.min([x[, y[, …]]])

Devuelve el más pequeño de cero o más números.

Math.pow(x, y)

Las devoluciones de base a la potencia de exponente, que es, baseexponent.

Math.random()

Devuelve un número pseudo-aleatorio entre 0 y 1.

Math.round(x)

Devuelve el valor de un número redondeado al número entero más cercano.

Math.sign(x)

Devuelve el signo de la x, que indica si x es positivo, negativo o cero.

Math.sin(x)

Devuelve el seno de un número.

Math.sinh(x) (en-US)

Devuelve el seno hiperbólico de un número.

Math.sqrt(x)

Devuelve la raíz cuadrada positiva de un número.

Math.tan(x)

Devuelve la tangente de un número.

Math.tanh(x)

Devuelve la tangente hiperbólica de un número.

Math.toSource() Non-standard

Devuelve la cadena "Math".

Math.trunc(x)

Devuelve la parte entera del número x, la eliminación de los dígitos fraccionarios.

Extendiendo el objeto Math

Como muchos de los objetos incluidos en JavaScript, el objeto Math puede ser extendido con propiedades y métodos personalizados. Para extender el objeto Math no se debe usar 'prototype'. Es posible extender directamente Math:

js
Math.propName = propValue;
Math.methodName = methodRef;

Como demostración, el siguiente ejemplo agrega un método al objeto Math para calcular el máximo común divisor de una lista de argumentos.

js
/* Función variádica -- Retorna el máximo común divisor de una lista de argumentos */
Math.gcd = function () {
  if (arguments.length == 2) {
    if (arguments[1] == 0) return arguments[0];
    else return Math.gcd(arguments[1], arguments[0] % arguments[1]);
  } else if (arguments.length > 2) {
    var result = Math.gcd(arguments[0], arguments[1]);
    for (var i = 2; i < arguments.length; i++)
      result = Math.gcd(result, arguments[i]);
    return result;
  }
};

Pruébalo:

js
console.log(Math.gcd(20, 30, 15, 70, 40)); // `5`

Especificaciones

Specification
ECMAScript Language Specification
# sec-math-object

Compatibilidad con navegadores

BCD tables only load in the browser

Ver también