L'objecte Math¶
Permet realitzar operacions matemàtiques.
Conté una sèrie de constants matemàtiques (PI
, E
, etc.) que actuen com a propietats, així com diferents mètodes relacionats amb operacions matemàtiques.
Tingueu en compte que...
L'objecte Math no té constructor.
És estàtic, per tant les seves propietats i mètodes es poden utilitzar directament sense crear-ne primer una instància.
Math (MDN)
JavaScript Math Object (W3Schools)
JavaScript Math Reference (W3Schools)
Constants matemàtiques¶
Les seguents constants tenen un valor precalculat dins de l'objecte Math:
constant | definició | valor aproximat |
---|---|---|
Math.E | e | 2.718 |
Math.LN2 | logaritme neperià de 2 | 0.693 |
Math.LN10 | logaritme neperià de 10 | 2.302 |
Math.LOG2E | logaritme en base 2 de e | 1.442 |
Math.LOG10E | logaritme decimal de e | 0.434 |
Math.PI | π | 3.14159 |
Math.SQRT1_2 | arrel quadrada de ½ | 0.707 |
Math.SQRT2 | arrel quadrada de 2 | 1.414 |
Valor absolut¶
El mètode Math.abs(x)
retorna el valor absolut de x.
let a = Math.abs( 42 ); // Resultat = 42
let b = Math.abs( -42 ); // Resultat = 42
let c = Math.abs( -4.2 ); // Resultat = 4.2
Funcions trigonomètriques¶
mètode | definició | mètodes relacionats |
---|---|---|
Math.sin() | sinus | sinh(), asin(), asinh() |
Math.cos() | cosinus | cosh(), acos(), acosh() |
Math.tan() | tangent | tanh(), atan(), atan2(), atanh() |
Tingueu en compte que...
Les funcions trigonomètriques en JavaScript operen en radians i no en graus.
Per treballar en graus cal fer-ne la conversió amb la fòrmula:
angle en radians = angle en graus x PI / 180
Potència i arrel quadrada¶
El mètode Math.pow(x,y)
retorna el valor de xy (x elevat a y).
let a = Math.pow( 2, 8 ); // Resultat = 256 (2⁸)
El mètode Math.sqrt(x)
retorna l'arrel quadrada de x.
let a = Math.sqrt( 81 ); // Resultat = 9
let b = Math.sqrt( 42 ); // Resultat = 6.48074069840786
Nota
pow és l'abreviatura en anglès de POWer (potència)
sqrt és l'abreviatura en anglès de SQuare RooT (arrel quadrada)
Logaritmes¶
let a = Math.log( x ); // Logaritme natural
let b = Math.log2( x ); // Logaritme en base 2
let c = Math.log10( x ); // Logaritme decimal (en base 10)
Màxim i mínim¶
Els mètodes Math.max()
i Math.min()
ens retornen el valor més alt o més baix de la llista de números que els hi passem com a arguments:
let maxim = Math.max( 5, 12, -3, 0, 45, 2.3, -9, 45.1 ); // --> 45.1
let minim = Math.min( 5, 12, -3, 0, 45, 2.3, -9, 45.1 ); // --> -9
Arrodoniments¶
mètode | definició |
---|---|
Math.round(x) | arrodoniment a l'enter més proper |
Math.ceil(x) | arrodoniment a l'enter més proper cap amunt (ceiling) |
Math.floor(x) | arrodoniment a l'enter més proper cap avall |
Math.trunc(x) | retorna la part entera de x |
Exemples
round() | ceil() | floor() | trunc() | |
---|---|---|---|---|
4.2 | 4 | 5 | 4 | 4 |
4.5 | 5 | 5 | 4 | 4 |
4.7 | 5 | 5 | 4 | 4 |
-4.2 | -4 | -4 | -5 | -4 |
-4.5 | -4 | -4 | -5 | -4 |
-4.7 | -5 | -4 | -5 | -4 |
Valors aleatoris¶
El mètode Math.random()
retorna un valor numèric aleatori entre 0 i 1 (no inclòs).
Com que en JavaScript tots els nombres són valors en coma flotant de 64 bits, sempre obtindrem un valor amb decimals, positiu i més petit que 1.
Exemples:
Per obtenir valors més grans, hem de multiplicar el resultat pel valor màxim+1 que volem obtenir:
// Obtenir un valor entre 0 i 100
Math.random() * 101;
Si el que volem són nombres enters, els hem d'arrodonir, per exemple amb Math.floor()
:
// Obtenir un valor enter entre 0 i 100
Math.floor( Math.random() * ( 100 + 1 ) );
Per obtenir un valor aleatori entre dos números (min i max, tots dos inclosos), podem fer-ho així:
Math.random() * ( max - min + 1 ) + min;