Contenido del curso
Fundamentos de POO
POO Avanzada
Asincronismo y consumo de APIs
Genéricos
Próximos pasos
Class
Contenido del curso
Class
Alex hernandez mitre
EstudianteAxel Enrique Galeed Gutierrez
EstudianteOscar David Mendoza Apaza
EstudianteMateo Orozco Lotero
EstudianteDANIEL EDUARDO LOPEZ ACOSTA
EstudianteManuel Alfonso Illidge Ramírez
EstudiantePaolo Joaquin Pinto Perez
EstudianteJuan Diego Salvador Pacheco
EstudianteAdrian Gonzalo Priale Cordova
EstudianteJavier Hernando Suarez Pachon
EstudianteSergio Cabarcos
EstudianteSergio Cabarcos
EstudianteRaúl A. Hernández Lafont
EstudianteDiego Raciel Ortega Hernandez
EstudianteEminson Mendoza
EstudianteCayo Legal
EstudianteWilliam Cortes
EstudianteDario Mendoza
EstudianteMateo Orozco Lotero
EstudianteValentina Hernández
EstudianteUlises Serrano Pérez
EstudianteAbraham Gonzalez
EstudianteJuan Diego Salvador Pacheco
EstudianteJuan Camilo Salazar Rojas
EstudianteHector Hernandez
EstudianteBrahyan Antonio Martinez Madera
EstudianteTypeScript cada vez me gusta más.
Les comparto mis apuntes. :D
¿Qué es class?
Buenas prácticas
Es una buena práctica inicializar las propiedades que coloquemos en nuestra clase, ya sea por fuera o dentro de nuestro constructor.
Como aporte: Los prototipos también se diferencia con la POO porque no solamente crean objetos mediante instancias, sino también mediante la clonación.
Quien en el 2023?
Quien en 2025?
YO, ya casi 2026. :-)
Codigo de la clase
const date = new Date(); date.getHours(); date.getTime(); date.toISOString(); const date2 = new Date(1993, 1, 12); // 0 = enero, 11 = dic date2.getHours(); date2.getTime(); date2.toISOString(); console.log(date); console.log(date2); class MyDate { year: number; month: number; day: number; constructor(year: number, month: number, day: number) { this.year = year; this.month = month; this.day = day; } } const myDate = new MyDate(2021, 3, 13); console.log(myDate);
Quien en 2024?
Quien en 2026?. :)
🙅🏽♂️
no me generó la carpeta dist y no se porque
ya solucioné
Nico encantado con el prompt de tu terminal. Es starship? Como le haces para que te resalte con colores brillantes el directorio en el que te encuentras? Bien out of context mi pregunta jjj
Es un tema OhMyZsh para Zsh shell. Puedes encontrar como configurarlo en la ultima clase del curso "Terminal y linea de comandos"
Una clase en TypeScript (TS) es una plantilla que define la estructura y comportamiento de los objetos. Se utiliza para encapsular propiedades (atributos) y métodos (funciones) relacionados. TypeScript introduce tipos estáticos, lo que permite especificar el tipo de datos que pueden almacenar las propiedades, mejorando la seguridad y la legibilidad del código.
Las clases en TS permiten la herencia, facilitando la creación de jerarquías de clases y la reutilización de código. También puedes implementar interfaces y patrones de diseño, como el Singleton, para estructurar mejor tu aplicación.
Mi código
type CustomDateConstructor = { year: MyCustomDate['year'], month: MyCustomDate['month'], day: MyCustomDate['day'] }; class MyCustomDate { public year: number; public month: number; public day: number; constructor({year, month, day}: CustomDateConstructor) { this.year = year; this.month = month; this.day = day; } getDate() { return `The date is ${this.day}/${this.month}/${this.year}` } } const newDate = new MyCustomDate({day: 12, month: 10, year: 2012});
Excelente class... me encanto la forma como lo explicó! Comparto mis apuntes y agradezco mucho si alguien tiene alguna corrección.
// se crea una instancia de la class Date //la const date es del type Date //Al crear la nueva instancia tenemos diponibles todos los //métodos de la misma //Dichos métodos son funciones y como tal se ejecutan con () // y también pueden recibir arguementos const date = new Date() date.getHours() date.getDate() date.toISOString() // las clases tienen un constructor el cual también puede recibir //parámetros (como una función). // y sirven para inicializar la clase con ciertos valores const date2 = new Date (2001, 2, 29) date2.getHours() date2.getDate() date2.toISOString() console.log("🚀 ~ file: 01-class.ts ~ line 14 ~ date", date) console.log("🚀 ~ file: 01-class.ts ~ line 14 ~ date2", date2) let myVar //para crear una clase (molde) utilizo la palabra reservada class //al crear una propiedad de una clase la debo tiṕar e inicializar //al momento de declararla. Pero también puedo // hacerlo en el contructor que es la función que //recibe los parámetros, cuando se genera una nueva instancia // para ello utilizamos la palabra reservada constructor. //para referirmos a una propiedad de una clase es decir una //variable interna de la clase // nos referimos a dicha propiedad con la palabra reservada //this.nombre_de_la_variable class MyDate{ year:number month: number day:number constructor(year:number, month: number, day:number){ this.year = year this.month = month this.day = day } } //ahora podemos generar una nueva istancia de nuestra clase const myDate = new MyDate(2021, 4, 31) console.log("🚀 ~ file: 01-class.ts ~ line 47 ~ myDate", myDate)
TypeScript es un superconjunto de JavaScript que agrega tipado estático opcional. Esto permite detectar errores en tiempo de compilación, mejorar la autocompletación y facilitar la lectura del código. En el contexto de clases, TypeScript soporta la programación orientada a objetos con características como clases, interfaces y herencia, permitiendo estructurar el código de manera más organizada y escalable. Aprender TypeScript es esencial para desarrollar aplicaciones robustas y mantener un código más limpio y fácil de entender.
Es recomendable poner en el target esnext en el tsconfig ?
Una clase en programación orientada a objetos es un molde o plantilla que define las propiedades (atributos) y comportamientos (métodos) que los objetos creados a partir de ella tendrán. Permite agrupar datos y funciones relacionadas, facilitando la creación de instancias (objetos) que pueden interactuar entre sí. En TypeScript, una clase se define con la palabra clave class y puede incluir características como herencia y encapsulamiento.
Viendo este video me doy cuenta que yo creo que una de las cosas que no cambiaria en mi carrera es que empece a programar con un lenguaje fuertemente tipado. Y yo personalmente recomendaría a los que van empezando que lo hicieran también, no solo te obliga a tener buenas practicas sino que también cuando no lo tienes sigues esas buenas practicas y reduces la cantidad de errores a largo plazo.
Concuerdo completamente contigo. Yo comencé con C++ y hace que entender lenguajes débilmente tipados como JS sea fácil.
Clases son como moldes que devuelven objetos estructurados. bajo los parametros que definamos definamos.
Si no queremos inicializar una avariabel en nuestro proyecto y que no nos genere el error en las variable NO inicializadas. Podemos agregar en el tsconfig.ts "strictPropertyInitialization": false. Así:
"compilerOptions": { "strictPropertyInitialization": false,
}
Este te permitirá que no se inicialice tus variables.
en la consola me terminal me salen 4 problemas con el .tsbuildinfo
"tsbuildinfo": Unknown word.
Clases en ts > clases en js