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?
Aportes 8
Preguntas 2
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.
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
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});
Interesante!
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);
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.