interface AgeMap {
[name: string]: number
}
const friendsAges: AgeMap = {
"Sandy": 34,
"Joe": 28,
"Sarah": 30,
"Michelle": "fifty", // ERROR! Type 'string' is not assignable to type 'number'.
};
এখানে, ইন্টারফেসটি AgeMapস্ট্রিং হিসাবে কীগুলি এবং সংখ্যা হিসাবে মান প্রয়োগ করে। শব্দ nameকোনো শনাক্তকারী হতে পারে এবং আপনার ইন্টারফেস / টাইপ সিনট্যাক্স সুপারিশ ব্যবহার করা উচিত।
আপনি ইউনিয়ন প্রকারে প্রতিটি প্রবেশের জন্য একটি অবজেক্টের কী রয়েছে তা প্রয়োগ করতে আপনি অনুরূপ সিনট্যাক্স ব্যবহার করতে পারেন:
type DayOfTheWeek = "sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday";
type ChoresMap = { [day in DayOfTheWeek]: string };
const chores: ChoresMap = { // ERROR! Property 'saturday' is missing in type '...'
"sunday": "do the dishes",
"monday": "walk the dog",
"tuesday": "water the plants",
"wednesday": "take out the trash",
"thursday": "clean your room",
"friday": "mow the lawn",
};
আপনি অবশ্যই এটি একটি জেনেরিক টাইপও করতে পারেন!
type DayOfTheWeek = "sunday" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday";
type DayOfTheWeekMap<T> = { [day in DayOfTheWeek]: T };
const chores: DayOfTheWeekMap<string> = {
"sunday": "do the dishes",
"monday": "walk the dog",
"tuesday": "water the plants",
"wednesday": "take out the trash",
"thursday": "clean your room",
"friday": "mow the lawn",
"saturday": "relax",
};
const workDays: DayOfTheWeekMap<boolean> = {
"sunday": false,
"monday": true,
"tuesday": true,
"wednesday": true,
"thursday": true,
"friday": true,
"saturday": false,
};
10.10.2018 আপডেট:
নীচে @ ড্র্যাকস্ট্যাক্সির উত্তরটি দেখুন - এখন একটি বিল্ট-ইন টাইপ রয়েছে Recordযা আপনার পক্ষে বেশিরভাগ ক্ষেত্রে এটি করে।
1.2.2020 আপডেট:
আমি আমার উত্তর থেকে প্রাক-তৈরি ম্যাপিং ইন্টারফেসগুলি পুরোপুরি সরিয়েছি। @ ড্র্যাকস্ট্যাক্সির উত্তর এগুলিকে সম্পূর্ণ অপ্রাসঙ্গিক করে তুলেছে। আপনি যদি এখনও সেগুলি ব্যবহার করতে চান তবে সম্পাদনার ইতিহাস পরীক্ষা করুন।