Skip to content

Latest commit

 

History

History
68 lines (50 loc) · 1.21 KB

01.IntersectionTypes.md

File metadata and controls

68 lines (50 loc) · 1.21 KB

Intersection Types (Intersección de tipos)

← Volver a la tabla de contenido

permiten combinar diferentes typos o interfaces ya existentes

uso con Types:

type Admin = {
  name: string;
  privileges: string[];
};

type Employee = {
  name: string;
  startDate: Date
}

type ElevatedEmployee = Admin & Employee;

const employee1: ElevateEmployee = {
  name: 'Cesar',
  privileges: ['create-server'],
  startDate: new Date(),
}

uso con interfaces

interface Computer {
  memory: string;
  processor: string;
  hhd: string;
}

interface OperativeSystem {
  so: string;
  version: string
}

type laptop = Computer & OperativeSystem;

const macBookPro: Laptop = {
  memory: '8GB',
  processor: 'M1',
  hhd: '256GB',
  so: 'macOS',
  version: 'Ventura',
}

no solo se pueden usar con Types de tipo objecto como los anteriores, se puede usar con cualquier otro Type

type StringNumber = string | number;

type NumberBoolean = number | boolean;

type Combinable = StringNumber & NumberBoolean;

← Volver a la tabla de contenido