-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.ts
91 lines (73 loc) · 1.68 KB
/
app.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
(() => {
type Vehicles = {
carroceria: string;
modelo: string;
antibalas: boolean;
pasajeros: number;
disparar?: () => void;
}
// Objetos
const batimovil: Vehicles = {
carroceria: "Negra",
modelo: "6x6",
antibalas: true,
pasajeros:4
};
const bumblebee: Vehicles = {
carroceria: "Amarillo con negro",
modelo: "4x2",
antibalas: true,
pasajeros:4,
disparar() { // El metodo disparar es opcional
console.log("Disparando");
}
};
// Villanos debe de ser un arreglo de objetos personalizados
type Villian = {
nombre: string;
edad?: number;
mutante: boolean;
}
console.log('Pasando por aquí');
const villanos: Villian[] = [{
nombre:"Lex Luthor",
edad: 54,
mutante:false
},{
nombre: "Erik Magnus Lehnsherr",
edad: 49,
mutante: true
},{
nombre: "James Logan",
edad: undefined,
mutante: true
}];
// Multiples tipos
// cree dos tipos, uno para charles y otro para apocalipsis
type charles = {
poder: string;
estatura: number;
}
type apocalipsis = {
lider: boolean;
miembros: string[];
}
const charles = {
poder:"psiquico",
estatura: 1.78
};
console.log('Pasando por acá');
const apocalipsis = {
lider:true,
miembros: ["Magneto","Tormenta","Psylocke","Angel"]
}
// Mystique, debe poder ser cualquiera de esos dos mutantes (charles o apocalipsis)
let mystique: (charles | apocalipsis);
mystique = charles;
console.log(mystique.poder);
mystique = apocalipsis;
console.log(mystique.miembros[2]);
let a = [1, 2, 5, 2, 1, 8];
let b = [...new Set(a)];
console.log(b);
})()