Unidad 1.3: Uso Avanzado de Números, Cadenas y Fechas
1.5 Uso Avanzado de Números, Cadenas y Fechas
En este tema exploraremos las clases y bibliotecas integradas de JavaScript para trabajar con números, cadenas y fechas, sus métodos y propiedades principales, y cómo aplicar estas herramientas en escenarios prácticos.
1.5.1 Clase Number
La clase Number en JavaScript representa valores numéricos y proporciona una serie de propiedades y métodos útiles para trabajar con números.
Propiedades de la Clase Number
-
Number.MAX_VALUE: El número positivo más grande que se puede representar en JavaScript.console.log(Number.MAX_VALUE); // Ejemplo: 1.7976931348623157e+308 -
Number.MIN_VALUE: El número positivo más pequeño mayor que 0.console.log(Number.MIN_VALUE); // Ejemplo: 5e-324 -
Number.POSITIVE_INFINITY: Representa el infinito positivo.console.log(Number.POSITIVE_INFINITY); // Infinity -
Number.NEGATIVE_INFINITY: Representa el infinito negativo.console.log(Number.NEGATIVE_INFINITY); // -Infinity -
Number.NaN: Representa un valor que no es un número (Not-a-Number).console.log(Number.NaN); // NaN
Importante
El valor NaN suele aparecer como resultado de operaciones inválidas, como dividir 0 entre 0.
Métodos de la Clase Number
-
Number.isNaN(valor): Comprueba si un valor esNaN.1 2
console.log(Number.isNaN(NaN)); // true console.log(Number.isNaN(10)); // false -
Number.isInteger(valor): Determina si un valor es un número entero.1 2
console.log(Number.isInteger(42)); // true console.log(Number.isInteger(42.5)); // false -
toFixed(decimales): Redondea un número al número de decimales especificado y lo convierte en una cadena.1 2
let num = 3.14159; console.log(num.toFixed(2)); // "3.14" -
toString(base): Convierte un número en una cadena con la base especificada (binaria, octal, decimal, hexadecimal, etc.).1 2 3
let num = 255; console.log(num.toString(16)); // "ff" (hexadecimal) console.log(num.toString(2)); // "11111111" (binario) -
parseInt(cadena, base): Convierte una cadena en un número entero según la base indicada.1 2
console.log(parseInt("1010", 2)); // 10 (binario a decimal) console.log(parseInt("FF", 16)); // 255 (hexadecimal a decimal) -
parseFloat(cadena): Convierte una cadena en un número decimal.1 2
console.log(parseFloat("3.14")); // 3.14 console.log(parseFloat("123abc")); // 123
Ejemplo Completo
Ejemplo de uso de la Clase Number
1 2 3 4 5 6 7 8 | |
Ejercicios: Clase Number
Ejercicio 1: Propiedades y Métodos de Number
- Declara un número y muestra:
- Su valor redondeado a 2 decimales.
- Su representación en binario y hexadecimal.
- Si es un entero o no.
Solución
1 2 3 4 5 | |
Ejercicio 2: Conversión de bases
- Escribe un programa que convierta un número en distintas bases: binario, octal y hexadecimal.
Solución
1 2 3 4 | |
Ejercicio 3: Validar valores numéricos
- Dado un valor, verifica si es un número válido o
NaN.
Solución
1 2 3 4 | |
Ejercicio 4: Convertir binario a decimal
- Crea una función que reciba una cadena con un número binario y devuelva su valor en decimal.
Solución
1 2 3 4 | |
Ejercicio 5: Cálculo de porcentaje
- Calcula el porcentaje de un valor usando números decimales. Por ejemplo, el 15% de 200.
Solución
1 2 3 4 | |
1.5.2 Biblioteca Math
La biblioteca Math proporciona una serie de constantes y funciones para realizar operaciones matemáticas comunes.
Constantes de Math
Math.PI: Representa el valor de π.1console.log(Math.PI); // 3.141592653589793Math.E: Base de los logaritmos naturales.1console.log(Math.E); // 2.718281828459045Math.LN10: Logaritmo natural de 10.1console.log(Math.LN10); // 2.302585092994046
Métodos de Math
Math.sqrt(x): Calcula la raíz cuadrada de un número.1console.log(Math.sqrt(16)); // 4Math.pow(base, exponente): Calcula una potencia.1console.log(Math.pow(2, 3)); // 8Math.abs(x): Devuelve el valor absoluto de un número.1console.log(Math.abs(-5)); // 5Math.round(x): Redondea un número al entero más cercano.1console.log(Math.round(4.5)); // 5Math.floor(x)yMath.ceil(x):Math.floor(x): Redondea hacia abajo.Math.ceil(x): Redondea hacia arriba.1 2
console.log(Math.floor(4.7)); // 4 console.log(Math.ceil(4.2)); // 5
Math.random(): Genera un número aleatorio entre 0 y 1 (exclusivo).1console.log(Math.random()); // Ejemplo: 0.5487Math.min(...valores)yMath.max(...valores):Math.min: Devuelve el menor valor.Math.max: Devuelve el mayor valor.1 2
console.log(Math.min(3, 7, 2, 9)); // 2 console.log(Math.max(3, 7, 2, 9)); // 9
Ejemplo Completo
Ejemplo con la biblioteca Math
1 2 3 4 5 6 7 8 | |
Ejercicios: Biblioteca Math
Ejercicio 1: Generar número aleatorio
- Escribe un programa que genere un número aleatorio entre 1 y 100.
Solución
1 2 | |
Ejercicio 2: Redondeo de números
- Solicita al usuario un número decimal y muestra:
- Su valor redondeado hacia abajo.
- Su valor redondeado hacia arriba.
- Su valor redondeado al entero más cercano.
Solución
1 2 3 4 5 6 7 | |
Ejercicio 3: Calcular área de un círculo
- Solicita al usuario el radio de un círculo y calcula:
- Su área usando la fórmula:
Área = π * radio^2.
- Su área usando la fórmula:
Solución
1 2 3 4 5 6 | |
Ejercicio 4: Valor absoluto
- Solicita un número al usuario y muestra su valor absoluto.
Solución
1 2 3 4 | |
Ejercicio 5: Comparar números
- Solicita al usuario tres números y muestra:
- El menor de los tres.
- El mayor de los tres.
Solución
1 2 3 4 5 6 7 8 | |
1.5.3 Clase String
La clase String se utiliza para trabajar con cadenas de texto en JavaScript. Proporciona numerosas propiedades y métodos que facilitan la manipulación de texto.
Propiedades de la Clase String
length: Devuelve el número de caracteres en una cadena.1 2
let texto = "Hola, mundo"; console.log(texto.length); // 11
Métodos Comunes de String
toUpperCase()ytoLowerCase():-
Convierte una cadena a mayúsculas o minúsculas respectivamente.
1 2 3
let texto = "JavaScript"; console.log(texto.toUpperCase()); // "JAVASCRIPT" console.log(texto.toLowerCase()); // "javascript" -
charAt(pos): Devuelve el carácter en una posición específica.1 2
let texto = "Hola"; console.log(texto.charAt(1)); // "o" -
includes(subcadena): Verifica si una subcadena está presente en la cadena.1 2
let texto = "Hola, mundo"; console.log(texto.includes("mundo")); // true -
indexOf(subcadena): Devuelve la posición de la primera aparición de una subcadena.1 2
let texto = "Hola, mundo"; console.log(texto.indexOf("mundo")); // 6 -
slice(inicio, fin): Extrae una sección de la cadena.1 2
let texto = "Hola, mundo"; console.log(texto.slice(0, 4)); // "Hola" -
replace(buscar, reemplazo): Reemplaza una subcadena por otra.1 2
let texto = "El cielo es azul"; console.log(texto.replace("azul", "rojo")); // "El cielo es rojo" -
split(separador): Divide una cadena en un array según un separador.1 2
let texto = "manzana,banana,naranja"; console.log(texto.split(",")); // ["manzana", "banana", "naranja"] -
trim(): Elimina espacios en blanco al inicio y al final de una cadena.1 2
let texto = " Hola "; console.log(texto.trim()); // "Hola"
Ejemplos Completos
Ejemplo con la Clase String
1 2 3 4 5 6 7 | |
Trocear una cadena por espacios
Dividir texto por espacios" - Declara una cadena con el texto "nombre apellido1 apellido2". - Muestra cada parte del texto (nombre, apellido1, apellido2) en líneas separadas sin utilizar arrays.
Otro ejemplo de la case Sttring
| Dividir texto por espacios | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Ejercicios: Clase String
Ejercicio 1: Manipulación básica de cadenas
- Declara una cadena con el texto:
"Bienvenido a JavaScript". - Convierte todo el texto a mayúsculas.
- Extrae la palabra
"JavaScript". - Reemplaza la palabra
"Bienvenido"por"Hola".
Solución del ejercicio
1 2 3 4 5 | |
Ejercicio 2: Contar palabras
- Escribe un programa que cuente el número de palabras en una cadena ingresada por el usuario.
Solución del ejercicio
1 2 3 4 5 6 | |
Ejercicio 3: Verificar contenido
- Solicita al usuario una frase y verifica si contiene la palabra
"JavaScript".
Solución del ejercicio
1 2 3 4 | |
Ejercicio 4: Formatear una lista
- Dada una cadena con elementos separados por comas, conviértela en una lista con viñetas.
Solución del ejercicio
1 2 3 4 5 | |
Ejercicio 5: Eliminar espacios
- Solicita al usuario una frase y elimina todos los espacios en blanco.
Solución del ejercicio
1 2 3 4 | |
1.5.4 Clase Date
La clase Date en JavaScript permite trabajar con fechas y horas, ofreciendo métodos para obtener, establecer y manipular valores temporales.
Creación de Fechas
-
Fecha actual:
1 2
const ahora = new Date(); console.log("Fecha y hora actuales:", ahora); -
Fecha específica:
1 2
const fechaEspecifica = new Date(2025, 0, 20); // Año, mes (0-indexado), día console.log("Fecha específica:", fechaEspecifica); -
Desde una cadena:
1 2
const fechaCadena = new Date("2025-01-20T15:30:00"); console.log("Fecha desde cadena:", fechaCadena);
Métodos Comunes de Date
-
getFullYear(): Obtiene el año.1console.log(ahora.getFullYear()); // Ejemplo: 2025 -
getMonth(): Obtiene el mes (0-indexado).1console.log(ahora.getMonth()); // Ejemplo: 0 para enero -
getDate(): Obtiene el día del mes.1console.log(ahora.getDate()); // Ejemplo: 20 -
getDay(): Obtiene el día de la semana (0 es domingo).1console.log(ahora.getDay()); // Ejemplo: 1 para lunes -
getHours(),getMinutes(),getSeconds(): Obtienen la hora, minutos y segundos.1console.log(ahora.getHours(), ahora.getMinutes(), ahora.getSeconds()); -
toLocaleDateString(): Formatea la fecha en el formato local.1console.log(ahora.toLocaleDateString()); // Ejemplo: "20/01/2025"
Comparar Fechas
Puedes comparar fechas usando operadores como <, >, <=, >=.
1 2 3 4 5 | |
Ejemplo Completo
Ejemplo con la Clase Date
1 2 3 4 5 6 7 8 | |
Ejercicios: Clase Date
Ejercicio 1: Obtener fecha y hora actuales
- Crea un programa que muestre:
- La fecha actual en formato local.
- La hora actual (hora:minutos).
Solución del ejercicio
| Fecha y hora actuales | |
|---|---|
1 2 3 4 | |
Ejercicio 2: Comparar dos fechas
- Solicita al usuario dos fechas en formato
YYYY-MM-DD. - Compara ambas fechas e indica cuál es anterior o si son iguales.
Solución del ejercicio
| Comparar fechas | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 | |
Ejercicio 3: Calcular días entre dos fechas
- Solicita al usuario dos fechas en formato
YYYY-MM-DD. - Calcula la diferencia en días entre ambas fechas.
Solución del ejercicio
| Días entre fechas | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
Ejercicio 4: Crear fecha a partir de valores
- Solicita al usuario que introduzca el año, mes y día por separado.
- Crea un objeto
Datecon esos valores y muestra la fecha en formato local.
Solución del ejercicio
| Crear fecha a partir de valores | |
|---|---|
1 2 3 4 5 6 7 8 | |