-
Notifications
You must be signed in to change notification settings - Fork 0
/
2.3.ts
46 lines (40 loc) · 1.15 KB
/
2.3.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
// [no editar] (pretender que esto proviene de una version externa de la
// biblioteca `foo.d.ts`)
interface Ciudad {
nombre: string;
}
// [/no editar]
interface Coords {
latitud: number;
longitud: number;
}
interface CiudadExtendida extends Ciudad {
coords: Coords;
}
const montreal: CiudadExtendida = {
coords: {
latitud: 42.332,
longitud: -73.324,
},
nombre: 'Montreal',
};
const tampa: CiudadExtendida = {
coords: {
latitud: 27.9478,
longitud: -82.4584,
},
nombre: 'Tampa',
};
function informacionCiudad(ciudad: CiudadExtendida) {
const coords: string =
`(${ciudad.coords.latitud.toFixed(3)}, ${ciudad.coords.longitud.toFixed(3)})`;
return `${ciudad.nombre.toUpperCase()} se encuentra en ${coords}.`;
}
console.log('[Ejercicio 2.3]',
`${informacionCiudad(montreal)} \n\n ${informacionCiudad(tampa)}`);
/*
1 Cree una interfaz ‘Coords‘ que tenga las propiedades numéricas ‘latitud‘ y ‘longitud‘
2 Extienda la interfaz existente ‘Ciudad‘ (sin modificarla en lı́nea) agregando una propiedad
‘coords‘ de tipo ‘Coords‘
3 Corregir lo que está mal con ‘tampa‘
*/