Class

2/25
Recursos

Aportes 8

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

TypeScript cada vez me gusta más.

Les comparto mis apuntes. 😄

¿Qué es class?

  • JavaScript es un lenguaje orientado a objetos, pero está basado en prototipos.
  • Las clases son una sintaxis más amigable para trabajar con prototipos, las clases internamente son prototipos.
  • La utilizamos para construir instancias de objetos, es como un molde para crear cosas.

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.

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);