no lo se rick parece java XD
Fundamentos de TypeScript
¿Qué es Typescript?
Resumen de Typescript
Types, Type Inference y Type keyword
Clases
Interfaces
Shapes
Union types
Intersection types
Function type
Decorators: aplicación en métodos
Decorators: aplicación en clases
Decorators: aplicación en propiedades
Decorators: aplicación en parámetros
Preparando el entorno para nuestro proyecto
¿Qué es Angular?
Angular CLI y Visual Studio Code
Creando nuestro proyecto con Angular CLI
¿Qué es Firebase? Implementando Firebase en nuestro proyecto
Diferencias entre Angular, React, Vue
Desarrollo de la aplicación
Presentación de la aplicación
Creación de las interfaces
Creación e implementación de endpoints en Firebase
Creación de la tabla de jugadores
Implementación de nuevo jugador a la tabla 1
Implementación de nuevo jugador a la tabla 2
Debugging de la aplicación
Implementación de edición de un jugador de la tabla
Implementación de eliminación de un jugador en la tabla
Conclusiones
Conclusiones
Dentro de TypeScript podemos realizar programación orientada a objetos y como su nombre lo dice vamos a programar objetos, pero para generar dichos objetos primero debemos crear su plantilla base que recibe el nombre de clase.
Una clase está integrada por propiedades y funciones, estas pueden ser privadas, públicas o protected.
A la variable que le asignamos el valor de un objeto debemos indicarle que su tipo de dato es igual a la clase.
Una característica de la programación orientada a objetos es que podemos crear clases padre que hereden sus propiedades y funciones a una clase hijo, esto es la herencia y dentro de TypeScript se representa con la palabra extends.
Aportes 58
Preguntas 6
no lo se rick parece java XD
Sintaxis General de una clase
class Nombre{
//atributos
nivelAcceso nombre: tipoDato;
//constructor(nombreAtributo: tipoDato){
this.nombreAtributo = nombre
}
//metodos o comportamientos
getAtributo(){
return this.nombreAtributo;
}
setAtributo(nombre: tipoDato){
this.nombreAtributo = nombre;
}
}
Con la palabra reservada extends heredamos una clase a otra.
Con la palabra reservada super accedemos a los atributos y métodos de la clase padre para utilizarlos en la clase hija.
Alan, primero quiero decirte que explicas súper bien y respecto a tu pregunta creo que la implementación de TypeScript depende mucho del tamaño del proyecto en el que se trabaje. Para un sistema muy grande y robusto creo que la mejor opción es implementar TypeScript ya que nos ayudaría a evitar errores dentro de nuestro programa y al mismo tiempo nos haría el trabajo de mantenimiento mucho mas sencillo. Pero para un proyecto mas sencillo sigue siendo una buena opción Vanilla JavaScript.
Me gustaría saber que opinas?
Saludos!
Me recuerda a Java
Genial TypeScript es como mi lenguaje favorito JAVA, fácil de manejar jaja
El tipado de typescript es muy bueno.
Recomiendo el curso de typescript:
https://platzi.com/clases/typescript/
Buenas noches, le paso mi aporte
type speed = number;
type formOfMovility = string;
export class Transport {
constructor(private _speed: speed, private _formOfMovility: formOfMovility) { }
public get speed() {
return this._speed;
}
public set speed(value: speed) {
this._speed = value;
}
public get formOfMovility(): formOfMovility {
return this._formOfMovility;
}
public set formOfMovility(value: formOfMovility) {
this._formOfMovility = value;
}
}
type numOfDoors = number;
export class Car extends Transport {
constructor(speed, formOfMovility: formOfMovility, private _numOfDoors: numOfDoors) {
super(speed, formOfMovility);
}
public get speed(): speed {
return super.speed + 10;
}
public get numOfDoors(): numOfDoors {
return this._numOfDoors;
}
public set numOfDoors(value: numOfDoors) {
this._numOfDoors = value;
}
}
const transport: Transport = new Transport(20, 'suelo');
const car = new Car(20, 'suelo', 4);
Con typescritp se podría ahorrar código y dejarlo más limpio de la siguiente forma, dejo código completo de las clases en pastebin.
El tema radica en dejar los constructores de la siguiente forma:
constructor(protected velocidad: number, protected formaDeMovilidad: string){}
constructor(protected velocidad: number, protected formaDeMovilidad: string, protected cantidadDePuertas: number) {
super(velocidad, formaDeMovilidad);
}
Un saludo y gracias.
// creamos nuestra classe utilizando 'class'
class Transporte {
// asignamos el acceso de sus atributos
private velocidad: number;
private formaDeMovilidad: string;
// creamos un constructor para setear las variables
// remarcamos que tipos de datos van a ser esas variables
constructor(velocidad: number, formaDeMovilidad: string) {
this.velocidad = velocidad;
this.formaDeMovilidad = formaDeMovilidad;
}
// creamos nuestros métodos 'getters' y 'setters'
getVelocidad() {
return this.velocidad;
}
setVelocidad(velocidad: number) {
this.velocidad = velocidad;
}
getFormaDeMovilidad() {
return this.formaDeMovilidad;
}
setFormaDeMovilidad(formaDeMovilidad: string) {
this.formaDeMovilidad = velocidad;
}
}
// probamos nuestra clase
const transporte: Transporte = new Transporte(20, 'suelo');
// creamos otra clase 'extendiendo' transporte
// hacemos uso de la herencia de programacion Or. a Objetos
class Auto extends Transporte {
// agregamos más parametros
private cantidadDePuertas: number;
constructor(
velocidad: number,
formaDeMovilidad: string,
// agregamos un nuevo elemento
cantidadDePuertas: number
) {
// usamos super para sobrescribir el constructor
// hacemos uso del constructor del padre
super(velocidad, formaDeMovilidad);
// seteamos nuestro nuevo elemento
this.cantidadDePuertas = cantidadDePuertas;
}
// sobreescribimos funciones de la 'clase padre'
getVelocidad() {
return super.getVelocidad() + 10;
}
// o también creamos las nuevas
getCantidadDePuertas() {
return this.cantidadDePuertas;
}
setCantidadDePuertas(cantidadDePuertas: number) {
this.cantidadDePuertas = cantidadDePuertas;
}
}
// probamos nuestra nueva class
const auto: Auto = new Auto
Definitivamente seguiria usando typescript
La palabra reservada “super” que función tiene??
Dentro de TypeScript podemos realizar programación orientada a objetos y como su nombre lo dice vamos a programar objetos, pero para generar dichos objetos primero debemos crear su plantilla base que recibe el nombre de clase.
Una clase está integrada por propiedades y funciones, estas pueden ser privadas, públicas o protected.
A la variable que le asignamos el valor de un objeto debemos indicarle que su tipo de dato es igual a la clase.
Una característica de la programación orientada a objetos es que podemos crear clases padre que hereden sus propiedades y funciones a una clase hijo, esto es la herencia y dentro de TypeScript se representa con la palabra extends.
Lo veo como una fusion de Java y Java Script, es más, su sintaxis es muy similar a Kotlin, pero ahora que desarrollo el back con JS y Nodejs lo veo como una ampliacion de JS para restringir el tipo de dato que se obtiene del cliente y evitar validaciones, pero, siendo sinceros me parece un java flexible. JS me parece mucho mejor.
Si lo usaría, me parece una forma de seguir las buenas prácticas que se tienen de los demás lenguajes, pero teniendo lo que hace bueno a JavaScript.
A la variable que le asignamos el valor de un objeto debemos indicarle que su tipo de dato es igual a la clase.
Una característica de la programación orientada a objetos es que podemos crear clases padre que hereden sus propiedades y funciones a una clase hijo, esto es la herencia y dentro de TypeScript se representa con la palabra extends.
En realidad no tengo mucha experiencia en programación pero pienso que Typescript es un lenguaje excelente para definir bien las clases con las propiedades de la programación orientada a objetos.
Muy buena la claseeee un gran repaso para POO
Para modificar varias lineas VS Code recuerden que se hace con alt+click en los lugares que quieran modificar 😉
Me parece que con TS se puede ser mas organizado.
Me recuerda hace apenas unos años que programaba en C++ jejeje
Que clase de Java es este :v
claro que lo utilizaría, sirve demasiado para mantener el control de los errores en nuestro codigo.
Sin duda antes de irme a Angular debo terminar este curso
class y extends es de ES6, no se confundan.
Utilizaria TypeScript sin dudar para cualquier proyecto. Es increible como tu código JS es transformado a objetos. De esta forma es mucho mas ordenado. Lo usaría para Agular, React o View. Me da la sensación como si estuviera trabajando en Java o PHP
Ahora que me encuentro desarrollando un API, de las cosas que más me ha gustado es el autocompletado, eso sin descartar todas las ventajas que mencionan los compañeros en los comentarios.
TypeScript es un gran paso para ser un desarrollador en js, lo veo muy necesario aprender… vamos por maaas
TypeScript lo veo como el lenguaje que le da superpoderes a JS y lo hace crecer mucho más de lo que actualmente crece.
Le da funcionalidades al lenguaje que muchas personas querían que tuviera antes y por eso no lo usaban.
Javascript siempre me ha parecido feo, me inclino mas por el backend,pero con typrescript creo que me sentiré mucho mas cómodo, al parecerse mucho mas a la manera habitual con la que trabajo
Me ha gustado mucho el curso.
Creo que si es necesario incluir Typescript en los proyectos de Angular y React, dándole así al desarrollador más control por las bondades que incluye TS
Tengo una duda, ¿Hay limite en cuento al numero de parámetros que se pasa dentro de una función constructora?
buena clase, me encanta el parecido que esto tiene con java y c#. Creo que voy a aprender mucho más rápido de lo que pensaba. Ademas que el instructor es bastante bueno.
En definitiva prefiero typeScript.
es excelente, ya trabajo con angular y ionic
Si Si Si , cambiaría a Javascript por Typescript y eso que recien estoy empezando, hay mucho mas orden, siento que me puedo adaptar muy facil ^^
se puede usar typescript en react y vue
Definitvamente lo usaría
Si lo cambiaría porque le da mucho orden al código y me parece mas fácil de leer e interpretar.
<class Transporte{
private velocidad: number;
private formaDeMovilidad: string;
//metodo constructor
constructor(velocidad: number, formaDeMovilidad: string){
this.velocidad = velocidad;
this.formaDeMovilidad = formaDeMovilidad;
}
//metodos setters y getters
getVelocidad(){
return this.velocidad;
}
setVelocidad(velocidad: number){
this.velocidad = velocidad;
}
getFormaDeMovilidad(){
return this.formaDeMovilidad;
}
setFormaDeMovilidad(formaDeMovilidad: string){
this.formaDeMovilidad = formaDeMovilidad;
}
}
//Forma de instanciar una clase
const transporte: Transporte = new Transporte(20, 'suelo');
//Auto hereda de Transporte
class Auto extends Transporte{
private puertas: number;
//el metodo constructor utilizado es el del padre con un parametro adicional propio de la clase hijo
constructor(velocidad: number, formaDeMovilidad: string, puertas: number){
//los parametros del padre
super(velocidad, formaDeMovilidad);
this.puertas = puertas;
}
//sobrescribir funciones de la clase padre
getVelocidad(){
//llamamos a la funcion del padre
return super.getVelocidad() + 10;
}
getPuertas(): number{
return this.puertas;
}
setPuertas(puertas: number){
this.puertas = puertas;
}
}
const auto: Auto = new Auto(10, 'suelo', 4);>
Esto es muy parecido a un POJO(Plain Old Java Object) en el contexto de Java
Excelente TypeScript para angular
Dentro de TypeScript podemos realizar programación orientada a objetos y como su nombre lo dice vamos a programar objetos, pero para generar dichos objetos primero debemos crear su plantilla base que recibe el nombre de clase.
Una clase está integrada por propiedades y funciones, estas pueden ser privadas, públicas o protected.
Muy buena explicación, aunque es un poco enredado, sin dudas Typescript da un mejor control al código y lo deja a prueba de futuros errores.
https://gyazo.com/bddd3c0125472faaca3413ea5895e008 tengo este fallo y no se por que 😕
Mi respuesta sería: depende, depende de qué aplicación esté haciendo y quizá de la experiencia. Quizá si vengo del mundo de Java que es 100% orientado a objetos, sería bueno utilizar typescript, ya que el manejo de clases es muuuuy parecido y perder ese control en el tipado podría confundirme al utilizar JS.
Antes no lo usaba, la verdad no sé por qué, pero ya trabajando en un proyecto real me he dado cuenta lo importante que es y lo mucho que ayuda al equipo de trabajo.
Buena clase, estoy mas familiarizado con JAVA, C#… y claro que incluiria.
Definitivamente cambiaría a TypeScript, al inicio de mi carrera cuando iniciaba en web llegué a tener problemas por la falta de control por la libertad de JavaScript, prefiero perder esa flexibilidad para poder usar la POO nuevamente.
No lo se rick parece C++ JAJAJA
De aquí para el curso de Programación Orientada a Objetos
Que es mejor empezar con typescript para aprender algun lenguajes y las sintaxis jajajaj
Actualmente podemos utilizar getters y setters para el encapsulamiento
Class MyClass {
private variable: any;
get Variable() {
//lógica de negocio para lectura
return this.variable;
}
set Variable(valor) {
//lógica de negocio para escritura
this.variable = valor;
}
}
// Se usan como parametros normales
const instance = new MyClass();
instance.Variable = 'Algún valor';
La historia de mi vida…
aprende JAVA
desaprende java para trabajar con Node
repasa java para Trabjar con TypeScript…
{inserte meme de tony stark con la mano en la frente aquí.}
Excelente explicación
Ahora conociendo TypeScript lo prefiero sobre vanilla, es desarrollar a otro nivel con Javascript.
Vengo de JS y si utilizaría TS me da mas control del código, puedo evitar muchos errores comunes que suele ocurrir en JS y me parece genial, Gran clase, Creo que se debió haber mencionado realizar el curso de TS ya que este curso ayuda a consolidar los temas vistos en este.
excelente pero porque usar typeScript si tenemos lenguajes de programacion que ya hacen eso y ademas javascript te deja mas abierto a los tipos ?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.