pru / subir /Curso de Fundamentos de JavaScript /01-Introducción a JavaScript /07-Números y Operaciones Matemáticas en JavaScript.vtt
2999a's picture
Upload batch from C CLI
8784b40 verified
WEBVTT
00:00.000 --> 00:03.600
En esta clase vamos a hablar sobre el tipo
de dato primitivo
00:03.600 --> 00:04.600
number.
00:04.600 --> 00:07.800
Para ello es importante que sepamos tres
cosas
00:07.800 --> 00:11.800
o tres tipos de números que podemos
escribir en JavaScript.
00:11.800 --> 00:15.000
La primera son los enteros y los decimales.
00:15.000 --> 00:17.800
Entonces voy a escribir por aquí un
comentario.
00:17.800 --> 00:20.000
Vamos a colocar
slash.
00:20.000 --> 00:25.000
Vamos a colocar tipo entero y decimal.
00:25.000 --> 00:28.600
Tanto el entero como el decimal en
JavaScript
00:28.600 --> 00:30.800
se escriben, por supuesto, diferente,
00:30.800 --> 00:35.200
pero por debajo su tipo de dato sigue
siendo para ambos number.
00:35.200 --> 00:36.600
Entonces,
veámoslo.
00:36.600 --> 00:40.600
Por ejemplo, vamos a colocar entero igual
a cualquier número
00:40.600 --> 00:44.400
y en decimal vamos a escribir un número
decimal
00:44.400 --> 00:47.000
como por ejemplo
3.14.
00:47.000 --> 00:50.200
Si nosotros escribimos
console.log
00:50.200 --> 00:55.200
y escribimos el type of para saber el tipo
de dato de entero
00:55.200 --> 00:59.800
y también escribimos type of para saber el
tipo de dato de decimal
00:59.800 --> 01:03.800
y guardamos, vamos aquí a nuestra
consola
01:03.800 --> 01:07.200
y ahí nos va a arrojar que ambos son de
tipo number.
01:07.200 --> 01:11.600
Es decir, que en JavaScript no tenemos
ningún tipo de distinción
01:11.600 --> 01:15.400
a nivel de tipo de dato para los números
enteros y decimales.
01:15.400 --> 01:18.000
Ambos los conocemos como
números.
01:18.000 --> 01:22.200
Ahora, otra cosa importante es la notación
científica.
01:22.200 --> 01:25.200
Esta notación científica en JavaScript,
01:25.200 --> 01:27.600
voy a escribir aquí
científica,
01:27.600 --> 01:29.800
la vamos a conocer también como
numbers
01:29.800 --> 01:31.800
y se escribe de la siguiente manera.
01:31.800 --> 01:33.800
Vamos a colocar
científico
01:33.800 --> 01:39.200
y aquí lo que hacemos es decir 5e para
expresar esa potencia
01:39.200 --> 01:41.600
y luego colocamos, por ejemplo,
3.
01:41.600 --> 01:43.600
Entonces, así escribimos los
números
01:43.600 --> 01:46.000
que son de notación
científica.
01:46.000 --> 01:50.000
Y luego estarían, por supuesto, los
números que son infinitos.
01:50.000 --> 01:53.200
Vamos a colocar acá
3.infinitos
01:53.200 --> 01:55.800
y los que no son un
número,
01:55.800 --> 01:58.800
que también lo conocemos en inglés como
not a number,
01:58.800 --> 02:02.800
que se escribe, por supuesto, n-a-n por
las siglas en inglés.
02:02.800 --> 02:04.800
¿Cómo serían
ambos?
02:04.800 --> 02:08.600
Sería infinito,
infinito,
02:08.600 --> 02:12.200
y tal cual, escribimos infinity en inglés.
02:12.200 --> 02:16.000
Y así podríamos expresar un número
infinito en JavaScript
02:16.000 --> 02:19.200
y también el número, o el no número,
02:19.200 --> 02:22.200
entonces sería no es un
número,
02:22.200 --> 02:26.000
número lo escribimos tal cual, n-a-n,
02:26.000 --> 02:28.000
que significa not a
number.
02:28.000 --> 02:31.200
Y listo, por esta parte ya tendríamos
cubiertas
02:31.200 --> 02:35.400
los tipos de números que podemos
encontrarnos en JavaScript.
02:35.400 --> 02:39.600
Por otro lado, tenemos lo que son las
operaciones aritméticas.
02:39.600 --> 02:42.400
Voy a subir esto un poco para tener más
espacio
02:42.400 --> 02:47.400
y aquí vamos a colocar operaciones
aritméticas.
02:47.400 --> 02:49.800
Aquí nos vamos a encontrar con dos grupos.
02:49.800 --> 02:52.600
El primer grupo son precisamente la suma,
02:52.600 --> 02:54.800
la resta, la multiplicación y la división.
02:54.800 --> 02:58.000
Así que escribámoslo, suma,
resta,
02:58.000 --> 03:02.000
multiplicación y
división.
03:02.000 --> 03:06.400
Listo, ¿cómo escribiríamos cada una de
estas operaciones en JavaScript?
03:06.400 --> 03:10.600
Entonces, la suma sería tal cual, tomar un
número
03:10.600 --> 03:15.000
y colocarle el operador más con otro número.
03:15.000 --> 03:17.600
Seguido tenemos lo que es la
resta
03:17.600 --> 03:20.800
y esto lo conocemos también con un número,
03:20.800 --> 03:24.000
el signo menos y luego otro
número.
03:24.000 --> 03:26.600
Seguido tenemos lo que es la multiplicación,
03:26.600 --> 03:29.400
voy a copiarme esto que ya escribí por aquí,
03:29.400 --> 03:35.000
voy a cambiarle aquí estos signos para que
no nos saque error.
03:35.000 --> 03:38.000
Y seguido lo que vamos a hacer es colocar
dos números,
03:38.000 --> 03:41.400
pero para multiplicarlos sería con un
asterisco.
03:41.400 --> 03:46.200
Y la división sería, vamos a tomar esto
que ya escribí por acá,
03:46.200 --> 03:49.000
le cambio la O, y ahora, ¿cómo
sería?
03:49.000 --> 03:51.800
Simplemente tomamos un número cualquiera,
03:51.800 --> 03:56.000
le colocamos una barrita y el número por
el cual queremos
03:56.000 --> 03:58.600
dividir el primer número que colocamos.
03:58.600 --> 04:01.400
Estas serían las primeras operaciones
aritméticas
04:01.400 --> 04:03.600
que nos podemos encontrar en JavaScript.
04:03.600 --> 04:08.400
Otro grupo también es el módulo y la
exponencia así.
04:08.400 --> 04:13.400
Entonces sería módulo y exponencia así.
04:13.400 --> 04:15.800
¿Cómo hacemos
esto?
04:15.800 --> 04:19.400
Para esta parte lo que hacemos es escribir
una variable
04:19.400 --> 04:23.600
que se llame módulo y este módulo lo
podemos conocer
04:23.600 --> 04:26.200
con el signo de
porcentaje.
04:26.200 --> 04:28.400
Esto nos va a indicar ese
módulo,
04:28.400 --> 04:31.200
pero nos sirve muchísimo en esos casos en
los que queremos
04:31.200 --> 04:33.800
saber si un número es múltiplo de otro número.
04:33.800 --> 04:37.000
Entonces este va a ser perfecto para ese
tipo de casos.
04:37.000 --> 04:39.200
Y por otro lado, tenemos exponenciación.
04:39.200 --> 04:42.200
Voy a quitarle esta L que se me fue por
ahí
04:42.200 --> 04:45.000
y vamos a corregir aquí, vamos a quitar
tildes
04:45.000 --> 04:46.600
para que no nos saque
error.
04:46.600 --> 04:50.200
Y esta exponenciación o potencia la
conocemos justamente
04:50.200 --> 04:53.800
con un número y es como si fuera
multiplicación,
04:53.800 --> 04:57.400
pero sumándole otro asterisco, o sea,
serían dos.
04:57.400 --> 05:01.400
Y en este caso ya tendríamos lo de módulo
y potencia.
05:01.400 --> 05:05.200
Por otro lado, es importante saber que
JavaScript
05:05.200 --> 05:10.000
tiene ciertos dilemitas a la hora de la
precisión.
05:10.000 --> 05:12.000
Entonces vamos a
revisarlo.
05:12.000 --> 05:15.200
Entonces voy a colocar por ejemplo acá
precisión.
05:15.200 --> 05:17.200
Precisión.
05:17.200 --> 05:19.400
¿Cuáles son esos problemitas? Mirémoslo.
05:19.400 --> 05:24.000
Por ejemplo, si colocamos resultado de
alguna operación,
05:24.000 --> 05:31.600
en este caso yo quiero que se sume el 0.
1 con el 0.2,
05:31.600 --> 05:34.400
ahí lo que esperaríamos sería
0.3,
05:34.400 --> 05:37.600
pero revisemos qué es lo que hace JavaScript.
05:37.600 --> 05:40.400
JavaScript lo que hace en este
caso
05:40.400 --> 05:44.200
es justamente colocar un número súper,
súper largo.
05:44.200 --> 05:48.000
Entonces aquí es donde tenemos esos
dilemas de precisión.
05:48.000 --> 05:50.400
Pero con JavaScript podemos también
solucionar
05:50.400 --> 05:52.800
ese tipo de casos y en dado
caso
05:52.800 --> 05:55.800
de que solamente necesitemos un decimal,
05:55.800 --> 05:57.600
lo podemos hacer de la siguiente forma.
05:57.600 --> 06:02.000
Podemos colocar por ejemplo console.
log de ese resultado
06:02.000 --> 06:05.600
y
utilizamos.toFixed
06:05.600 --> 06:08.400
y luego le decimos qué tantos valores
queremos
06:08.400 --> 06:10.000
después del
punto.
06:10.000 --> 06:13.800
En este caso podríamos decirle que
solamente necesitamos 1.
06:13.800 --> 06:16.000
Entonces volvemos a correr nuestro
programa
06:16.000 --> 06:20.000
y aquí ya nos sale que evidentemente 0.
1 más 0.2
06:20.000 --> 06:22.800
es solamente
0.3.
06:22.800 --> 06:24.600
Con este tema de la
precisión
06:24.600 --> 06:27.400
también es importante tener en
cuenta
06:27.400 --> 06:30.000
que si nosotros queremos comparar números,
06:30.000 --> 06:34.400
es decir, ese resultado con el número como
tal 0.3,
06:34.400 --> 06:36.400
tendríamos un
error.
06:36.400 --> 06:40.800
Por ejemplo, si yo le digo console.log,
06:40.800 --> 06:47.400
yo quiero saber si ese resultado es igual,
igual, igual a 0.3.
06:47.400 --> 06:50.200
Voy a explicarte esto antes de
continuar
06:50.200 --> 06:51.800
y es que esto lo que está
haciendo
06:51.800 --> 06:55.800
es que nos comprueba si este resultado,
06:55.800 --> 06:59.200
es decir, el valor
0.33300...
06:59.200 --> 07:04.000
Bueno, todo esto es igual a 0.3 a nivel de
número
07:04.000 --> 07:06.000
y también a nivel de
tipo,
07:06.000 --> 07:09.000
es decir, que si este
tipo,
07:09.000 --> 07:13.000
es decir, tipo número, es igual a este
tipo de dato,
07:13.000 --> 07:14.200
que también es
número.
07:14.200 --> 07:16.600
Entonces él va a empezar a validar tanto
el valor
07:16.600 --> 07:20.200
como el tipo, por eso colocamos estos tres
igual.
07:20.200 --> 07:24.000
Entonces en este caso si nosotros hacemos
esa operación,
07:24.000 --> 07:26.000
él nos va a decir que es
falso.
07:26.000 --> 07:28.000
Entonces con este tipo de
temas
07:28.000 --> 07:31.200
hay que tener muchísimo cuidado
precisamente por esa razón,
07:31.200 --> 07:33.600
porque JavaScript no es tan
preciso
07:33.600 --> 07:36.600
a la hora de hacer este tipo de cálculos.
07:36.600 --> 07:39.600
Por otro lado, tenemos otras
operaciones
07:39.600 --> 07:42.000
que las podemos realizar con
Mat.
07:42.000 --> 07:45.000
¿Cómo las vamos a
hacer?
07:45.000 --> 07:49.600
Vamos a escribir por acá operaciones
avanzadas
07:49.600 --> 07:51.600
y lo que hacemos es lo
siguiente.
07:51.600 --> 07:55.000
Si nosotros quisiéramos saber la raíz
cuadrada de un número,
07:55.000 --> 07:56.800
lo haríamos de la siguiente
forma.
07:56.800 --> 08:02.400
Vamos a colocar const, decimos raíz cuadrada,
08:02.400 --> 08:07.800
y aquí le colocamos
math.sqrt
08:07.800 --> 08:10.400
y dentro le colocamos el
número
08:10.400 --> 08:13.400
por el cual nosotros queremos saber esa
raíz cuadrada.
08:13.400 --> 08:17.000
Ahora, si nosotros quisiéramos saber el
valor absoluto
08:17.000 --> 08:19.800
de un número negativo o de cualquier número,
08:19.800 --> 08:23.400
lo que hacemos es decir valor
absoluto
08:23.400 --> 08:26.200
y aquí le decimos math
nuevamente
08:26.200 --> 08:29.400
y en este caso le escribimos
abs
08:29.400 --> 08:31.600
y dentro colocamos el
número
08:31.600 --> 08:34.400
por el cual queremos saber ese valor absoluto.
08:34.400 --> 08:37.000
Y por último, si nosotros quisiéramos
saber
08:37.000 --> 08:40.400
un número random o que él nos arroje
cualquier número,
08:40.400 --> 08:44.400
lo que podemos hacer es decirle
aleatorio
08:44.400 --> 08:47.600
igual a
math.random
08:47.600 --> 08:51.400
y él ya con eso nos saca un número aleatorio.
08:51.400 --> 08:54.200
Entonces, revisemos esto que acabamos de
hacer.
08:54.200 --> 08:57.400
Vamos a colocar 3
console.log,
08:57.400 --> 09:01.200
ups, vamos a colocar copiar, pegar, pegar.
09:01.200 --> 09:04.200
Voy a borrar esas líneas que se crearon
por allá abajo,
09:04.200 --> 09:06.200
copio este valor por
acá,
09:06.200 --> 09:09.800
también copio este en el console.log,
09:09.800 --> 09:11.400
guardamos y
listo.
09:11.400 --> 09:15.400
Entonces, acá vemos que la raíz cuadrada
de 16 es 4,
09:15.400 --> 09:17.800
que el valor absoluto de menos 7 es
7
09:17.800 --> 09:20.400
y me arrojó un número random
aquí.
09:20.400 --> 09:24.200
Entonces, ya con esto tendríamos toda la
parte de números,
09:24.200 --> 09:26.000
diferentes
notaciones,
09:26.000 --> 09:27.200
tanto las
operaciones
09:27.200 --> 09:51.200
y también tendríamos algunas operaciones
avanzadas.