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