Indexsignatura inaeleza aina ya sifa wakati haujui majina yao mapema — kuiga dictionaries/maps ambapo funguo ni dynamike.
{
[: ]: ;
}
: = { : , : };
scores. = ;
scores.;
scores.;
Indexsignatura inaeleza aina ya sifa wakati haujui majina yao mapema — kuiga dictionaries/maps ambapo funguo ni dynamike.
{
[: ]: ;
}
: = { : , : };
scores. = ;
scores.;
scores.;
Kwa indexsignatura ya kawaida, mkutani unachukua kila funguo kuwa nayo, kwa hiyo scores.typo ni aina ya number hata kama ni kweli undefined wakati wa utekelezaji. Kuwezesha noUncheckedIndexedAccess kunakamatisha hili:
// with noUncheckedIndexedAccess: true
scores.math; // number | undefined → forces you to handle the missing case
interface Config {
name: string; // known property
[key: string]: string | number; // plus arbitrary extra keys
}
Sifa zote zilizosainiwa lazima ziwe zinaweza kukalipwa kwa aina ya thamani ya indexsignatura.
type Scores = Record<string, number>; // same as the index signature
type Roles = Record<"admin" | "user", boolean>; // constrained keys
Record ni kifupi cha idiomatiki na kina msaada wa nchi maalum ya nchi, ambayo [key: string] jumla haiwezi.
Indexsignatuli kuiga vitu vya funguo-dynamike kweli (meza ya utaftaji, akaches, ramani za JSON zilizochambuliwa).
Jua onyo la usalama (noUncheckedIndexedAccess) na pendelea Record<K, V> kwa ufahamu — na pendelea Map wakati funguo ni kweli wazi na unataka semantiki ya iteration/ukubwa halisi.