typestar

Tipos de objeto en TypeScript

Opcionales, readonly, firmas de índice y chequeo de propiedades sobrantes.

interface Step {
  readonly idx: number;
  title: string;
  stars?: number;
  [extra: string]: unknown;
}

const step: Step = { idx: 0, title: "Literal types", note: "extra allowed" };

function summarize({ idx, title, stars = 0 }: Step): string {
  return `${idx} ${title} ${stars}`;
}

interface Strict {
  slug: string;
}

const source = { slug: "basics", steps: 26 };
const strict: Strict = source; // bien: no es un literal recién creado
// const inline: Strict = { slug: "basics", steps: 26 }; // propiedad sobrante

console.log(summarize(step), strict.slug);

Cómo funciona

  1. ? vuelve opcional una propiedad; readonly bloquea la asignación.
  2. Una firma de índice tipa las claves que no nombraste.
  3. Un literal de objeto recién creado se chequea por propiedades sobrantes.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
22
Caracteres a escribir
553
Tokens
120
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 76 segundos.

Escribe este fragmento

Paso 2 de 5 en Objetos e interfaces; paso 12 de 23 en Tipos y anotaciones.

← Anterior Siguiente →