Record<K, T>টাইপস্ক্রিপ্ট মানে কি ?
টাইপস্ক্রিপ্ট ২.১ Recordপ্রকারটি প্রবর্তন করেছিল , এটি একটি উদাহরণে বর্ণনা করে:
// For every properties K of type T, transform it to U function mapObject<K extends string, T, U>(obj: Record<K, T>, f: (x: T) => U): Record<K, U>
দেখতে টাইপ করা বিষয় 2.1
আর উন্নত প্রকারভেদ পৃষ্ঠা উল্লেখ Recordম্যাপ করা পাশাপাশি শিরোনাম প্রকারভেদ অধীনে Readonly, Partialএবং Pick, কি এর সংজ্ঞা উপস্থিত হতে পারে মধ্যে:
type Record<K extends string, T> = { [P in K]: T; }
কেবলমাত্র পঠনযোগ্য, আংশিক এবং বাছাই হোমোর্ফিক হয় যদিও রেকর্ডটি নেই। রেকর্ডটি হোমোর্ফিক নয় এমন একটি সূত্র হ'ল এটি থেকে বৈশিষ্ট্যগুলি অনুলিপি করতে কোনও ইনপুট টাইপ নেয় না:
type ThreeStringProps = Record<'prop1' | 'prop2' | 'prop3', string>
এবং এটাই. উপরে কোট ছাড়া অন্য কোন উল্লেখ নেই Recordউপর typescriptlang.org ।
প্রশ্নাবলি
কেউ কি একটি সাধারণ সংজ্ঞা দিতে পারেন
Record?Record<K,T>কেবল "এই বস্তুর সমস্ত বৈশিষ্ট্যের ধরণ থাকবে" বলার উপায় কিT? সম্ভবত সমস্ত সম্পত্তি নয়, যেহেতুKকিছু উদ্দেশ্য রয়েছে ...জেনেরিকগুলি সেই
Kবস্তুটিতে নেই যা অতিরিক্ত কীগুলি নিষিদ্ধ করেK, বা এটি তাদের অনুমতি দেয় এবং কেবল তাদের বৈশিষ্ট্যগুলিতে রূপান্তরিত হয় না তা নির্দেশ করেT?প্রদত্ত উদাহরণ সহ:
type ThreeStringProps = Record<'prop1' | 'prop2' | 'prop3', string>
এটি কি ঠিক এর মতোই ?:
type ThreeStringProps = {prop1: string, prop2: string, prop3: string}