En aquest tema, explorarem com utilitzar interfícies i tipus en TypeScript per millorar la robustesa i la llegibilitat del nostre codi. Les interfícies i els tipus són eines fonamentals en TypeScript que ens permeten definir estructures de dades clares i consistents, cosa que és especialment útil quan escrivim proves amb Playwright.

Què són les Interfícies i els Tipus?

Interfícies

  • Definició: Una interfície en TypeScript és una manera de definir la forma d'un objecte. Ens permet especificar quines propietats i mètodes ha de tenir un objecte.
  • Ús: Les interfícies són útils per garantir que els objectes compleixin amb una estructura específica, cosa que ajuda a evitar errors comuns de programació.

Tipus

  • Definició: Els tipus en TypeScript són una manera de definir tipus personalitzats que poden ser utilitzats per variables, funcions, etc.
  • Ús: Els tipus són més flexibles que les interfícies i poden representar unions, tuples, i altres estructures complexes.

Creant i Utilitzant Interfícies

Exemple d'Interfície

interface User {
  name: string;
  age: number;
  email?: string; // Propietat opcional
}

function greetUser(user: User): void {
  console.log(`Hello, ${user.name}!`);
}

const user1: User = { name: "Alice", age: 30 };
greetUser(user1);

Explicació

  • Propietats: L'interfície User defineix que un objecte ha de tenir les propietats name i age, i opcionalment email.
  • Funció: La funció greetUser accepta un objecte que compleix amb la interfície User.

Creant i Utilitzant Tipus

Exemple de Tipus

type Point = {
  x: number;
  y: number;
};

type Circle = {
  radius: number;
  center: Point;
};

const circle1: Circle = { radius: 10, center: { x: 0, y: 0 } };
console.log(circle1);

Explicació

  • Tipus Composats: El tipus Circle utilitza el tipus Point per definir la seva estructura.
  • Flexibilitat: Els tipus permeten crear estructures més complexes i composades.

Diferències Clau entre Interfícies i Tipus

Característica Interfícies Tipus
Extensió Es poden estendre Es poden combinar amb unions
Propietats opcionals
Implementació Classes poden implementar-les No aplicable
Flexibilitat Menys flexible Més flexible

Exercici Pràctic

Exercici

Defineix una interfície Product amb les següents propietats:

  • id: número
  • name: string
  • price: número
  • description: string (opcional)

Crea una funció printProductDetails que accepti un objecte Product i imprimeixi els detalls del producte.

Solució

interface Product {
  id: number;
  name: string;
  price: number;
  description?: string;
}

function printProductDetails(product: Product): void {
  console.log(`Product ID: ${product.id}`);
  console.log(`Name: ${product.name}`);
  console.log(`Price: $${product.price}`);
  if (product.description) {
    console.log(`Description: ${product.description}`);
  }
}

const product1: Product = { id: 1, name: "Laptop", price: 999.99 };
printProductDetails(product1);

Resum

En aquest tema, hem après a utilitzar interfícies i tipus en TypeScript per definir estructures de dades clares i consistents. Les interfícies ens ajuden a garantir que els objectes compleixin amb una estructura específica, mentre que els tipus ens ofereixen més flexibilitat per crear estructures complexes. Aquestes eines són essencials per escriure codi robust i mantenible, especialment quan treballem amb Playwright per automatitzar proves.

Dramaturg amb TypeScript: De Principiant a Avançat

Mòdul 1: Introducció a Playwright i TypeScript

Mòdul 2: Començant amb Playwright

Mòdul 3: Fonaments de Playwright i TypeScript

Mòdul 4: Funcions Avançades de Playwright

Mòdul 5: Estratègies d'Automatització de Proves

Mòdul 6: Tècniques Avançades de TypeScript

Mòdul 7: Aplicacions Reals de Playwright

Mòdul 8: Conclusió del Curs i Propers Passos

© Copyright 2024. Tots els drets reservats