0Pricing
TypeScript Academy · Lezione

Tipi keyof e accesso indicizzato (introduzione)

Utilizzi keyof per creare unioni di nomi di proprietà e i tipi di accesso indicizzato (T[K] / T["prop"]) per leggere i tipi delle proprietà in sicurezza.

Tipi keyof e accesso indicizzato (introduzione) è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 3 lezioni in totale.

Introduzione

Obiettivo: creare helper più sicuri usando keyof (unioni di nomi di proprietà) e l'accesso indicizzato (T[K]) per leggere i tipi delle proprietà.

keyof

keyof produce un'unione dei nomi delle proprietà di un tipo (ad esempio "id" | "name" | "email").

interface User {
  id: number;
  name: string;
  email?: string;
}

type UserKeys = keyof User;  // "id" | "name" | "email"

keyof typeof

Utilizzi keyof typeof per ottenere le chiavi da un valore (oggetto) e tipizzare i parametri.

const SETTINGS = {
  theme: "dark",
  lang: "en",
} as const;

type SettingKey = keyof typeof SETTINGS; // "theme" | "lang"

Accesso indicizzato

L'accesso indicizzato restituisce il tipo di una proprietà: User["name"] è string.

interface User {
  id: number;
  name: string;
  email?: string;
}

type NameType = User["name"]; // string

Helper getProperty

Combini keyof con K extends keyof T per limitare le chiavi e restituire il tipo preciso T[K].

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

const u = { id: 1, name: "Ada" };
const v1 = getProperty(u, "name"); // string
const v2 = getProperty(u, "id");   // number
console.log(v1.toUpperCase(), v2.toFixed(0));

Suggerimenti

Suggerimenti:

  • Preferisca keyof typeof per le chiavi degli oggetti.
  • Utilizzi T[K] per riflettere i tipi delle proprietà senza duplicare i modelli.
  • Eviti le chiavi tipizzate come semplici stringhe; si affidi alle unioni per la sicurezza.

Verifica dell'accesso indicizzato

Verifica rapida: che cosa rappresenta T[K]?

Riepilogo

Riepilogo: keyof fornisce unioni di chiavi; keyof typeof ricava le chiavi dai valori; T[K] legge i tipi delle proprietà: è perfetto per creare helper sicuri.

Domande Frequenti

La lezione «Tipi keyof e accesso indicizzato (introduzione)» è gratuita?

Sì — il testo completo di «Tipi keyof e accesso indicizzato (introduzione)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 3 lezioni in totale.

Cosa imparerò in «Tipi keyof e accesso indicizzato (introduzione)»?

Utilizzi keyof per creare unioni di nomi di proprietà e i tipi di accesso indicizzato (T[K] / T["prop"]) per leggere i tipi delle proprietà in sicurezza. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare TypeScript Academy?

Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.

Quanto tempo richiede la lezione «Tipi keyof e accesso indicizzato (introduzione)»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?

Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Funzioni generiche e vincoli (extends, parametri predefiniti)
  2. Partial, Readonly, Record, Pick, Omit
  3. Tipi keyof e accesso indicizzato (introduzione)
← Torna a TypeScript Academy