keyof typescript এর একটি অপারেটর যা একটি নির্দিষ্ট type বা interface এর সমস্ত প্রোপার্টি নেম বা কী গুলোর একটি ইউনিয়ন type তৈরি করে।
এর প্রধান উদ্দেশ্য হলো ডাইনামিকভাবে অবজেক্ট কী নিয়ে কাজ করার সময় টাইপ সেফটি নিশ্চিত করা। এর মাধ্যমে নিশ্চিত করা যায় যে আপনি শুধু সেই প্রোপার্টি নেম বা কী গুলোই ব্যবহার করছেন যা অবজেক্টটির টাইপে দেওয়া আছে।
type User = {
name: string;
age: number;
gender: boolean;
};
type ToKeys = keyof User;
// ToKeys এখন হলো 'name' | 'age' | 'gender'any টাইপ ভেরিয়েবলের জন্য টাইপ চেকিং করে না এবং আপনি কোন ধরনের ডেটা ব্যবহার করছেন সেটা চেক করে না। TypeScript আপনাকে যে কোনো ফাংশন কল বা প্রপার্টি অ্যাক্সেস করতে দেয় সেটি বাস্তবে আছে কিনা চেক না করে
unknown টাইপ any এর মতোই কিন্তু একটি পার্থক্য আছে। সেটা হলো typeof ব্যবহার করে ম্যানুয়ালি টাইপ চেক করা। এটি না করলে আপনি কোনো ফাংশন কল বা প্রপার্টি অ্যাক্সেস করতে পারবেন না। কারণ TypeScript জানে না যে এটি কী ধরনের ডেটা নিয়ে কাজ করছে।
never অনেক সময় লুপের break এর মতো করে ব্যবহার করা হয় | এরর হ্যান্ডলিং ফাংশনে never ব্যবহার করার একটি ভালো উদাহরণ, never ব্যবহার করার কারণে পরের লাইনের কোড আর চলে না (run হয় না) এবং প্রোগ্রামটি বন্ধ হয়ে যায়।