ਇਹ ਗੁਣ ਸੋਧਕ ਨਿਯੰਤਰਿਤ ਕਰਦੇ ਹਨ ਕਿ ਕੀ ਇੱਕ ਗੁਣ ਜ਼ਰੂਰੀ ਹੈ ਅਤੇ ਕੀ ਇਸ ਨੂੰ ਦੁਬਾਰਾ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਚੋਣਵੀਂ (?)
ts
{
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
ਇਹ ਗੁਣ ਸੋਧਕ ਨਿਯੰਤਰਿਤ ਕਰਦੇ ਹਨ ਕਿ ਕੀ ਇੱਕ ਗੁਣ ਜ਼ਰੂਰੀ ਹੈ ਅਤੇ ਕੀ ਇਸ ਨੂੰ ਦੁਬਾਰਾ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
?) {
: ;
?: ;
}
: = { : };
: = { : , : };
() {
u..;
u.?.;
}
ਇੱਕ ਚੋਣਵੀਂ ਗੁਣ ਦੀ ਕਿਸਮ T | undefined ਹੈ, ਇਸ ਲਈ ਕੰਪਾਈਲਰ ਤੁਹਾਨੂੰ ਗੈਰ-ਮੌਜੂਦ ਸਥਿਤੀ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਮਜਬੂਰ ਕਰਦਾ ਹੈ — «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 ਸਿਰਫ ਸੰਕਲਨ-ਸਮੇਂ ਤੇ ਹੈ (ਕੋਈ ਰਨਟਾਈਮ ਜ਼ਬਰਦਸਤੀ ਨਹੀਂ), ਪਰ ਇਹ ਕਿਸਮ ਸਿਸਟਮ ਵਿੱਚ ਅਪਰਿਵਰਤਨਸ਼ੀਲਤਾ ਨੂੰ ਦਸਤਾਵੇਜ਼ ਅਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਅਚੇਤ ਪਰਿਵਰਤਨਾਂ ਨੂੰ ਫੜਦਾ ਹੈ।
interface Config { readonly id: string; tags?: readonly string[]; }
type Frozen = Readonly<User>; // utility type makes ALL props readonly
? ਖਰੀ ਚੋਣਵੀਂ ਡਾਟਾ ਨੂੰ ਮਾਡਲ ਕਰਦਾ ਹੈ ਅਤੇ null-ਸੁਰੱਖਿਆ ਨੂੰ ਮਜਬੂਰ ਕਰਦਾ ਹੈ; readonly ਅਪਰਿਵਰਤਨਸ਼ੀਲਤਾ ਨੂੰ ਪ੍ਰਗਟ ਅਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ (config, props ਅਤੇ ਅਚੇਤ ਸਟੇਟ ਪਰਿਵਰਤਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਨਦਾਰ)।
ਦੋਵੇਂ ਕੰਪਾਈਲਰ ਵਿੱਚ ਸਹੀਤਾ ਦੀ ਜਾਂਚ ਨੂੰ ਧੱਕਾ ਦਿੰਦੇ ਹਨ।
ਵਿਸਤ੍ਰਿਤ ਜਵਾਬਾਂ ਨਾਲ IT ਇੰਟਰਵਿਊ ਸਵਾਲਾਂ ਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ — ਜੂਨੀਅਰ ਤੋਂ ਸੀਨੀਅਰ ਤੱਕ।
ਦਾਨ ਕਰੋ