index signature সেই সম্পত্তির ধরন বর্ণনা করে যখন আপনি আগে থেকেই তাদের নাম জানেন না — অভিধান/ম্যাপ মডেল করে যেখানে কী গতিশীল।
{
[: ]: ;
}
: = { : , : };
scores. = ;
scores.;
scores.;
index signature সেই সম্পত্তির ধরন বর্ণনা করে যখন আপনি আগে থেকেই তাদের নাম জানেন না — অভিধান/ম্যাপ মডেল করে যেখানে কী গতিশীল।
{
[: ]: ;
}
: = { : , : };
scores. = ;
scores.;
scores.;
সাধারণ index signature দিয়ে, কম্পাইলার অনুমান করে যে প্রতিটি কী বিদ্যমান, তাই scores.typo কে number হিসাবে টাইপ করা হয় এমনকি যদি এটি রানটাইমে আসলে undefined হয়। noUncheckedIndexedAccess সক্ষম করা এটি ঠিক করে:
// 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
}
সমস্ত নামকৃত বৈশিষ্ট্য index signature এর মূল্য ধরনে নির্ধারণযোগ্য হতে হবে।
type Scores = Record<string, number>; // same as the index signature
type Roles = Record<"admin" | "user", boolean>; // constrained keys
Record প্রচলিত শর্টহ্যান্ড এবং একটি সীমাবদ্ধ কী ইউনিয়ন সমর্থন করে, যা একটি সাধারণ [key: string] পারে না।
Index signatures সত্যিকারের গতিশীল-কী বস্তু মডেল করে (লুকআপ টেবিল, ক্যাশ, পার্সড JSON ম্যাপ)।
নিরাপত্তা সতর্কতা জানুন (noUncheckedIndexedAccess) এবং স্পষ্টতার জন্য Record<K, V> পছন্দ করুন — এবং যখন কী সত্যিই খোলা থাকে এবং আপনি বাস্তব পুনরাবৃত্তি/আকার শব্দার্থ চান তখন Map পছন্দ করুন।
বিস্তারিত উত্তরসহ IT ইন্টারভিউ প্রশ্নের একটি লাইব্রেরি — জুনিয়র থেকে সিনিয়র পর্যন্ত।
দান করুন