pru / subir /Curso de Fundamentos de JavaScript /01-Introducción a JavaScript /07-Números y Operaciones Matemáticas en JavaScript.vtt
| 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. | |