Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • E ECMAscript-Typescript
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 11
    • Issues 11
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • imunnic
  • ECMAscript-Typescript
  • Wiki
  • Modulo 1

Modulo 1 · Changes

Page history
typescript y ejemplos hasta issue 6 authored Dec 19, 2025 by imunnic's avatar imunnic
Show whitespace changes
Inline Side-by-side
Showing with 155 additions and 0 deletions
+155 -0
  • Modulo-1.md Modulo-1.md +155 -0
  • No files found.
Modulo-1.md
View page @ 9a746b0d
......@@ -240,6 +240,16 @@ interface RecursoDTO {
}
```
De las interfaces pueden crearse objetos literales, que son objetos definidos *ad-hoc*:
```ts
const recursoDTOEjemplo: RecursoDTO = {
id: "21j5jshsy34js8skasu",
unidad: "JMAPER",
tipoRecurso: "MATERIAL"
};
```
### Clases
```ts
......@@ -288,3 +298,148 @@ console.log('Valor absoluto:', Math.abs(-5));
console.log('Máximo:', Math.max(10, 20, 5));
```
### type (Alias de tipos)
La palabra clave `type` permite crear **alias de tipos**, facilitando la reutilización y la legibilidad del código. Es especialmente útil para **uniones**, **tipos compuestos** y **contratos simples**.
```ts
type IDRecurso = string;
type UnidadSanitaria = string;
type Cantidad = number;
type EstadoRecurso = 'OPERATIVO' | 'INOPERATIVO' | 'EN_MANTENIMIENTO';
```
Uso práctico en el sistema:
```ts
type RecursoBasico = {
id: IDRecurso;
unidad: UnidadSanitaria;
estado: EstadoRecurso;
};
const recursoBasico: RecursoBasico = {
id: '7HG82JD92KS9',
unidad: 'JMAPER',
estado: 'OPERATIVO',
};
```
También pueden combinarse con interfaces:
```ts
type RecursoCompleto = RecursoDTO & {
estado: EstadoRecurso;
fechaAlta: Date;
};
```
---
### enum (Enumeraciones)
Los `enum` permiten definir **conjuntos cerrados de valores**, mejorando la **seguridad semántica** frente a strings libres.
### Enum numérico
```ts
enum NivelPrioridad {
BAJA = 1,
MEDIA,
ALTA,
CRITICA,
}
```
```ts
const prioridadRecurso: NivelPrioridad = NivelPrioridad.ALTA;
console.log('Nivel de prioridad:', prioridadRecurso);
```
### Enum de strings (recomendado)
```ts
enum EstadoOperativo {
OPERATIVO = 'OPERATIVO',
INOPERATIVO = 'INOPERATIVO',
EN_MANTENIMIENTO = 'EN_MANTENIMIENTO',
}
```
Uso en una clase:
```ts
class RecursoEstado {
constructor(
public id: string,
public estado: EstadoOperativo
) {}
mostrarEstado(): void {
console.log(`Recurso ${this.id} está ${this.estado}`);
}
}
const recursoEstado = new RecursoEstado(
'AJD829DJ29',
EstadoOperativo.EN_MANTENIMIENTO
);
recursoEstado.mostrarEstado();
```
---
### Object
```ts
const resumen = {
humanos: 120,
materiales: 340,
};
console.log(Object.keys(resumen));
console.log(Object.values(resumen));
console.log(Object.entries(resumen));
```
---
### JSON
Muy habitual en comunicaciones con APIs REST.
```ts
const recursoJson = JSON.stringify(recursoBasico);
console.log('JSON:', recursoJson);
const recursoParseado = JSON.parse(recursoJson) as RecursoBasico;
console.log('Objeto:', recursoParseado);
```
---
### Set (colecciones sin duplicados)
```ts
const unidades = new Set<string>();
unidades.add('JMAPER');
unidades.add('ACING');
unidades.add('JMAPER'); // no se duplica
console.log('Unidades sanitarias:', unidades);
```
---
### Map (clave–valor tipado)
```ts
const inventario = new Map<string, number>();
inventario.set('Ambulancias', 40);
inventario.set('Enfermeros', 200);
console.log('Ambulancias:', inventario.get('Ambulancias'));
```
Clone repository

Índice

  • Inicio
  • Modulo 1. Sitaxis básica
  • Modulo 2. Importaciones en Javascript
  • Modulo 3. Interacción con el BOM y con el DOM
  • Modulo 4. Uso de servicios y API REST