Ti modifikatori svojstva kontroliraju je li svojstvo obavezno i može li se ponovno dodijeliti.
Optional (?)
ts
{
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Ti modifikatori svojstva kontroliraju je li svojstvo obavezno i može li se ponovno dodijeliti.
?) {
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
Opcionalno svojstvo ima tip T | undefined, pa kompajler prisiljava vam da rukujete slučajem prisutnosti — sprječavajući "cannot read property of undefined" greške.
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 je samo pri vrijeme kompajliranja (bez izvršavanja tijekom rada), ali dokumentira i provodi nepromjenjivost u sustavu tipova, hvatajući slučajne mutacije.
interface Config { readonly id: string; tags?: readonly string[]; }
type Frozen = Readonly<User>; // utility type makes ALL props readonly
? modelira stvarno opcionalne podatke i prisiljava null-sigurnost; readonly izražava i provodi nepromjenjivost (odličan za konfiguraciju, props, i sprječavanje slučajne mutacije stanja).
Oba gube provjeru ispravnosti u kompajler.
Knjižnica IT pitanja za razgovore za posao s detaljnim odgovorima — od Juniora do Seniora.
Doniraj