TypeScript cada vez me gusta más.
Introducción
¿Ya tomaste el Curso de TypeScript: Tipos Avanzados y Funciones?
Fundamentos de POO
Class
Métodos
Acceso público
Acceso privado
Constructor
Getters
Setters
POO Avanzada
Herencia
Acceso protegido
Static
Interfaces
Clases abstractas
Singleton: constructor privado
Asincronismo y consumo de APIs
Promesas
Tipando respuestas HTTP
Proyecto: migración de funciones a clases
Consumiendo ProductMemoryService
ProductHttpService
Consumiendo ProductHttpService
Genéricos
Generics
Generics en clases
Generics en métodos
Decoradores
Próximos pasos
¿Quieres más cursos de TypeScript?
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Aportes 13
Preguntas 4
TypeScript cada vez me gusta más.
Les comparto mis apuntes. 😄
Es una buena práctica inicializar las propiedades que coloquemos en nuestra clase, ya sea por fuera o dentro de nuestro constructor.
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);
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)
Clases en ts > clases en js
Interesante!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?