typestar

switch exhaustivo en TypeScript

El truco de never que hace que el compilador rechace un caso sin manejar.

type Shape = { kind: "circle"; r: number } | { kind: "square"; s: number };

function area(shape: Shape): number {
  switch (shape.kind) {
    case "circle":
      return Math.PI * shape.r ** 2;
    case "square":
      return shape.s ** 2;
    default:
      const exhausted: never = shape;
      throw new Error(`unhandled: ${exhausted}`);
  }
}

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
307
Tokens
87
Ritmo de tres estrellas
95 tpm

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

Escribe este fragmento

Paso 4 de 4 en Estrechamiento; paso 10 de 23 en Tipos y anotaciones.

← Anterior Siguiente →