Objetos
Como se pudo ver en el primer ejemplo de inferencia, los objetos en TypeScript, una vez que son definidas sus propiedades, son esas las únicas propiedades de dicho objeto y no se pueden llamar o crear nuevas propiedades posteriormente.
Como se pudo ver en el primer ejemplo de inferencia, los objetos en TypeScript, una vez que son definidas sus propiedades, son esas las únicas propiedades de dicho objeto y no se pueden llamar o crear nuevas propiedades posteriormente.
Los Type Alias son tipos de datos definidos por el usuario con nombres alternativos, esto sirve para darle más semántica al lenguaje.
Yo lo entiendo, en el caso de los objetos, como si fuera una especie de Clase.
Esta palabra reservada, antes de cualquier propiedad, permite alterar su mutabilidad, convirtiendóla en una propiedad de solo lectura.
Las interfaces son un mecanismo de la programación orientada a objetos que trata de suplir la carencia de herencia múltiple.
Las interfaces en TypeScript se declaran de manera bastante similar a la de las clases, indicando la lista de propiedades y métodos que contendrán. Solo hay un detalle fundamental, que las propiedades no pueden tener valores y los métodos no pueden tener código para su implementación.
Las interfaces tambien pueden contener en si mismas otras interfaces:
Las interfaces pueden heredar atributos y métodos de otras mediante extends:
Hay 2 maneras de declarar funciones en interfaces:
La sintaxis básica de una clase puede ser:
Uso por defecto.
Un error muy comun es mutar la propiedad de un objeto ya definido:
Esto se puede solucionar con ReadOnly. Mediante readonly el valor de la propiedad solo puede ser cargado en el constructor o al momento de definirlo y luego no puede ser modificado ni desde un método de la clase o fuera de la clase.
Private hace que el acceso a la propiedad sea solo de forma interna.
Otra manera de usar private:
Es similar a private, ya que evita el acceso de la propiedad a los objetos, pero lo permite en clases heredadas.
Tanto para una clase o una interfaz que se requiera tipar, pero que su tipo de dato sea dinámico segun las condiciones de los objetos instanciados a partir de estas, sin tener que utlizar tipo Any, existen los Genéricos <>.