File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
02-languages/02-apuntes/02-typescript Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,29 @@ type Whatever<T> = {
1818 value : T ;
1919} ;
2020
21+ // *** IMPORTANTE - INCISO: Los type alias también se pueden usar para declarar la forma de un
22+ // objeto, del mismo modo que hacen los interfaces. Tenemos por tanto 2 maneras de especificar la
23+ // firma de un objeto a nivel de tipos: interfaces y type alias. Y ambas formas permiten la
24+ // extensión, lo interfaces a través de 'extends' y los type alias mediante intersección de tipos
25+ // '&'. Entonces, ¿cual es la diferencia? Mientras que los interfaces son 'abiertos' y permiten
26+ // continuar extendiéndolos con múltiples declaraciones, los type alias son cerrados y solo podemos
27+ // definirlos 1 vez:
28+
29+ interface PersonInterface {
30+ name : string ;
31+ }
32+ interface PersonInterface {
33+ age : number ;
34+ }
35+ const me : PersonInterface = { name : "John" , age : 30 } ;
36+
37+ type PersonType = { name : string } ; // [ts] Duplicate identifier
38+ type PersonType = { age : number } ; // [ts] Duplicate identifier
39+
40+ // Por lo general se suele recomendar el uso de interfaces para tipar objetos debido a esta
41+ // capacidad extra.
42+ // https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#differences-between-type-aliases-and-interfaces
43+
2144// -- Caso Práctico --
2245
2346// Alias es muy util para abstraernos de definiciones complejas. No crea nuevos tipos, solo nuevos
You can’t perform that action at this time.
0 commit comments