La clase que utilizamos para realizar cálculos matemáticos de todo tipo.
La clase Math es una de las clases nativas de Javascript. Proporciona los mecanismos para realizar operaciones matemáticas en Javascript. Algunas operaciones se resuelven rápidamente con los operadores aritméticos que ya conocemos, como la multiplicación o la suma, pero hay una serie de operaciones matemáticas adicionales que se tienen que realizar usando la clase Math como pueden ser calcular un seno o hacer una raiz cuadrada.
De modo que para cualquier cálculo matemático complejo utilizaremos la clase Math, con una particularidad. Hasta ahora cada vez que queríamos hacer algo con una clase debíamos instanciar un objeto de esa clase y trabajar con el objeto y en el caso de la clase Math se trabaja directamente con la clase. Esto se permite por que las propiedades y métodos de la clase Math son lo que se llama propiedades y métodos de clase y para utilizarlos se opera a través de la clase en lugar de los objetos. Dicho de otra forma, para trabajar con la clase Math no deberemos utilizar la instrucción new y utilizaremos el nombre de la clase para acceder a sus propiedades y métodos.
Propiedades de Math
Las propiedades guardan valores que probablemente necesitemos en algún momento si estamos haciendo cálculos matemáticos. Es probable que estas propiedades resulten un poco raras a las personas que desconocen las matemáticas avanzadas, pero los que las conozcan sabrán de su utilidad.
E
Número E o constante de Euler, la base de los logaritmos neperianos.
LN2
Logaritmo neperiano de 2.
LN10
Logaritmo neperiano de 10.
LOG2E
Logaritmo en base 2 de E.
LOG10E
Logaritmo en base 10 de E.
PI
Conocido número para cálculo con círculos.
SQRT1_2
Raiz cuadrada de un medio.
SQRT2
Raiz cuadrada de 2.
Métodos de Math
Así mismo, tenemos una serie de métodos para realizar operaciones mateméticas típicas, aunque un poco complejas. Todos los que conozcan las matemáticas a un buen nivel conocerán el significado de estas operaciones.
abs()
Devuelve el valor absoluto de un número. El valor después de quitarle el signo.
acos()
Devuelve el arcocoseno de un número en radianes.
asin()
Devuelve el arcoseno de un numero en radianes.
atan()
Devuelve un arcotangente de un numero.
ceil()
Devuelve el entero igual o inmediatamente siguiente de un número. Por ejemplo, ceil(3) vale 3, ceil(3.4) es 4.
cos()
Retorna el coseno de un número.
exp()
Retorna el resultado de elevar el número E por un número.
floor()
Lo contrario de ceil(), pues devuelve un número igual o inmediatamente inferior.
log()
Devuelve el logaritmo neperiano de un número.
max()
Retorna el mayor de 2 números.
min()
Retorna el menor de 2 números.
pow()
Recibe dos números como parámetros y devuelve el primer número elevado al segundo número.
random()
Devuelve un número aleatorio entre 0 y 1. Método creado a partir de Javascript 1.1.
round()
Redondea al entero más próximo.
sin()
Devuelve el seno de un número con un ángulo en radianes.
sqrt()
Retorna la raiz cuadrada de un número.
tan()
Calcula y devuelve la tangente de un número en radianes.
Ejemplo de utilización de la clase Math
Vamos a ver un sencillo ejemplo sobre cómo utilizar métodos y propiedaes de la clase Math para calcular el seno y el coseno de 2 PI radianes (una vuelta completa). Como algunos de vosotros sabréis, el coseno de 2 PI radianes debe dar como resultado 1 y el seno 0.
document.write (Math.cos(2 * Math.PI))
document.write ("<br>")
document.write (Math.sin(2 * Math.PI))
2 PI radianes es el resultado de multiplicar 2 por el número PI. Ese resultado es lo que recibe el método cos, y da como resultado 1. En el caso del seno el resultado no es exactamente 0 pero está aproximado con una exactitud de más de una millonésima de fracción. Se escriben los el seno y coseno con un salto de línea en medio para que quede más claro.
Podemos ver el resultado de ejecutar estas líneas de código.
Además, si deseamos profundizar en la clase Math os recomiendo leer el artículo de crear un número aleatorio. También se hace uso de la clase Math en el artículo enlace aleatorio. Todos en el Taller de Javascript.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...