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}