টেমপ্লেট লিটারাল টাইপ আপনাকে একটি টেমপ্লেটে অন্যান্য প্রকার অন্তর্ভুক্ত করে নতুন স্ট্রিং লিটারাল টাইপ তৈরি করতে দেয় — টাইপ স্তরে স্ট্রিং ম্যানিপুলেশন।
ts
= ;
: = ;
: = ;
type Color = "red" | "blue";
type Shade = "light" | "dark";
type Variant = `${Shade}-${Color}`;
// "light-red" | "light-blue" | "dark-red" | "dark-blue" — all combinations
কম্পাইলার ইউনিয়নের প্রতিটি সংমিশ্রণ প্রসারিত করে — বৈধ স্ট্রিং কী (CSS ক্লাস, ইভেন্ট নাম, রুট প্যাটার্ন) স্বয়ংক্রিয়ভাবে তৈরি করার জন্য উপকারী।
type Entity = "user" | "post";
type Event = `${Entity}:${"created" | "deleted"}`;
// "user:created" | "user:deleted" | "post:created" | "post:deleted"
function on(event: Event, cb: () => void) {}
on("user:created", () => {}); // ✅
on("user:updated", () => {}); // ❌ not a valid event
type Getters<T> = {
[K in keyof T & string as `get${Capitalize<K>}`]: () => T[K];
};
// { name: string } → { getName: () => string }
Uppercase, Lowercase, Capitalize, Uncapitalize অন্তর্নির্মিত অন্তর্নিহিত সাহায্যকারী।
টেমপ্লেট লিটারাল টাইপ স্ট্রিং-ভিত্তিক API গুলিকে টাইপ-সেফ করে তোলে: রুট প্যারাম, ইভেন্ট সিস্টেম, CSS-in-JS, ORM কলাম নাম।
কোনো string গ্রহণ করার পরিবর্তে, আপনি বৈধ স্ট্রিংয়ের একটি নির্ভুল, উত্পন্ন সেটে সীমাবদ্ধ করতে পারেন — এমন স্থানগুলিতে সংকলন সময়ে টাইপো ক্যাপচার করুন যা আগে স্ট্রিং-ভিত্তিক ছিল।