Vipatanishi hivi vya sifa vinadhibiti kama sifa ni lazima na kama inaweza kukamatia tena.
Optional (?)
ts
{
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Vipatanishi hivi vya sifa vinadhibiti kama sifa ni lazima na kama inaweza kukamatia tena.
?) {
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Sifa ya jina maalum ina aina T | undefined, kwa hiyo mkusanyaji unakuzuia kukamatia kesi iliyoondolewa — kuepuka makosa ya "cannot read property of undefined".
interface Point { readonly x: number; readonly y: number; }
const p: Point = { x: 1, y: 2 };
p.x = 5; // ❌ Error: cannot assign to readonly property
// arrays too
const nums: readonly number[] = [1, 2, 3];
nums.push(4); // ❌ push doesn't exist on readonly array
readonly ni wakati wa kukamatia tu (hakuna utekelezaji wa wakati wa uendeshaji), lakini inakagiza na kulazimisha kutobadilika katika mfumo wa aina, na kukamatia mabadiliko yasioyakutaka.
interface Config { readonly id: string; tags?: readonly string[]; }
type Frozen = Readonly<User>; // utility type makes ALL props readonly
? inaiga data halisi ya jina maalum na kulazimisha usalama wa null; readonly inaeleza na kulazimisha kutobadilika (nzuri kwa usanidi, accessories, na kuepuka mabadiliko yasioyakutaka ya hali).
Vote viwili vinasogeza ukaguzi wa usahihi ndani ya mkusanyaji.