Sinjaturi tal-indiċi tiddeskrivi t-tip ta' proprjetajiet meta ma tkunx taf l-ismijiet tagħhom minn qabel — timmudella dizzjonari/mapep fejn il-ċwievet huma dinamiċi.
{
[: ]: ;
}
: = { : , : };
scores. = ;
scores.;
scores.;
Sinjaturi tal-indiċi tiddeskrivi t-tip ta' proprjetajiet meta ma tkunx taf l-ismijiet tagħhom minn qabel — timmudella dizzjonari/mapep fejn il-ċwievet huma dinamiċi.
{
[: ]: ;
}
: = { : , : };
scores. = ;
scores.;
scores.;
B'sinjaturi tal-indiċi ordinarja, il-kompiler jassumi li kull ċavetta teżisti, għalhekk scores.typo hija ttipizzata bħala number ankeħ jekk hija tassew undefined fil-ħin tal-eżekuzzjoni. L-attivazzjoni ta' noUncheckedIndexedAccess iċ-ċ Corrett:
// 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
}
L-proprjetajiet bl-isem kollha għandhom ikunu assenjabbli għat-tip ta' valur tas-sinjaturi tal-indiċi.
type Scores = Record<string, number>; // same as the index signature
type Roles = Record<"admin" | "user", boolean>; // constrained keys
Record hija l-abbrevjazzjoni idiomatika u tappoġġja unjoni ta' ċwievetat ristretti, li [key: string] ordinarja ma tistax.
Sinjaturet tal-indiċi jimmudellaw oġġetti bi ċwievetat verament dinamiċi (tabelli ta' tfittxija, cache, mapep JSON analizzati).
Kun konxju tal-avvertenza dwar is-sigurtà (noUncheckedIndexedAccess) u agħti preferenza Record<K, V> għal leġġibilità — u agħti preferenza Map meta ċ-ċwievetat huma verament miftuħa u trid is-semantika ta' l-iterazzjoni/daqs vera.