Lecciones del módulo (1/2)
Tipos primitivos y anotaciones
TypeScript es un superset tipado (supraconjunto tipado) de JavaScript, lo que significa que agrega una sintaxis para los tipos estáticos sobre la sintaxis de JavaScript existente. En tiempo de ejecución, todo el código de TypeScript se compila en JavaScript puro y los tipos desaparecen por completo durante la compilación.
Gracias a TypeScript, puedes detectar errores antes de que el código se ejecute en el navegador, lo que hace que el desarrollo sea más robusto, seguro y escalable.
Los Tipos Primitivos
TypeScript admite los tipos primitivos estándar de JavaScript:
string: Representa secuencias de caracteres (ej.'Alice',"Hello").number: Representa valores numéricos, tanto enteros como decimales (ej.42,3.14).boolean: Representa valores de verdad (trueofalse).nullyundefined: Representan la ausencia intencional o no de un valor.
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;Anotación de Variables e Inferencia
En TypeScript, podemos agregar una anotación de tipo insertando dos puntos (:) seguidos del tipo.
Si intentas asignar un valor de un tipo diferente (por ejemplo, asignar una cadena a age definida como number), el compilador de TypeScript informará inmediatamente un error antes de la ejecución.
El Peligro del Tipo any
El tipo any es un tipo especial que le indica a TypeScript que desactive la verificación de tipos para una variable determinada.
let data: any = 42;
data = 'Hello'; // Nessun errore!
data.nonExistentMethod(); // Nessun errore a tempo di compilazione, ma crash a runtime!Usar any anula todos los beneficios de seguridad que ofrece TypeScript. Se considera una mala práctica que debe evitarse casi siempre en el código de producción.
Anotación de Funciones y el Tipo void
Podemos anotar tanto los parámetros como el valor de retorno de una función:
function calculateTax(price: number, taxRate: number): number {
return price * taxRate;
}Si una función no devuelve ningún valor (por ejemplo, solo hace un console.log), su tipo de retorno es void:
function logMessage(message: string): void {
console.log(message);
}Pruébalo tú
Ejercicio 1: Variables Tipadas
Declara tres variables tipadas explícitamente: username como cadena con valor 'Alice', score como número con valor 100, e isActive como booleano con valor true. No utilices el tipo any.
Mostrar pista
Usa la sintaxis : string, : number, y : boolean después del nombre de cada variable.
Solución disponible después de 3 intentos
Ejercicio 2: Función de Saludo
Crea una función llamada greet que acepte un parámetro name de tipo cadena y devuelva una cadena en el formato 'Hello, ' seguido del nombre. Especifica explícitamente tanto el tipo del parámetro como el tipo de retorno.
Mostrar pista
Declara la función como function greet(name: string): string { ... } y devuelve el mensaje.
Solución disponible después de 3 intentos
Ejercicio 3: Convertidor de Temperatura
Declara una función llamada celsiusToFahrenheit que acepte un parámetro celsius di tipo número y devuelva la temperatura equivalente en grados Fahrenheit (número). La fórmula es celsius * 9 / 5 + 32. Especifica explícitamente tanto el tipo del parámetro como el tipo de retorno.
Mostrar pista
Multiplica celsius por 9, divide por 5, suma 32 y devuelve el resultado con la anotación : number en la función.
Solución disponible después de 3 intentos
Ejercicio 4: Cálculo del Descuento
Crea una función llamada calculateDiscount que acepte un parámetro price de tipo número y un parámetro discountPercent de tipo número, y devuelva el precio final descontado como número. Especifica explícitamente tanto los tipos de los parámetros como el tipo de retorno.
Mostrar pista
Resta el porcentaje de descuento dividido por 100 de 1, luego multiplica por el precio inicial. Asegúrate de anotar los parámetros y el retorno como number.
Solución disponible después de 3 intentos