Dawn il-modifikaturit tal-proprjetà jikkontrollaw kemm il-proprjetà hija meħtieġa u kemm tista' tiġi i-assenjata mill-ġdid.
Optional (?)
ts
{
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Dawn il-modifikaturit tal-proprjetà jikkontrollaw kemm il-proprjetà hija meħtieġa u kemm tista' tiġi i-assenjata mill-ġdid.
?) {
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Proprjetà optional għandha tip T | undefined, għalhekk il-compiler iforzak tindawwal il-każ li minn għajn — tipprevjeni l-bugs "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 huwa biss lejn il-ħin tal-kompilazzjoni (l-ebda applikazzjoni runtime), iżda jiddokumenta u jenfas l-immutability fis-sistema tat-tip, jaqbad il-mutazzjonijiet aċċidentali.
interface Config { readonly id: string; tags?: readonly string[]; }
type Frozen = Readonly<User>; // utility type makes ALL props readonly
? immudelljaw data verament optional u jonfas null-safety; readonly jesprimi u jenfas l-immutability (kbira għal config, props, u tbid il-mutazzjoni tal-istat aċċidentali).
It-tnejn jdgħu l-verifika tal-korrettezza lejn il-kompiler.