அறிவிப்பு இணைப்பு என்பது TypeScript பல அறிவிப்புகளை ஒரே பெயரைக் கொண்டு ஒரு வரையறையாக இணைப்பது ஆகும். Interfaces, namespaces, மற்றும் சில பிற கட்டுமானங்கள் தானாக இணைந்துவிடும்.
Interface இணைப்பு
interface Box { : ; }
{ : ; }
அறிவிப்பு இணைப்பு என்பது TypeScript பல அறிவிப்புகளை ஒரே பெயரைக் கொண்டு ஒரு வரையறையாக இணைப்பது ஆகும். Interfaces, namespaces, மற்றும் சில பிற கட்டுமானங்கள் தானாக இணைந்துவிடும்.
interface Box { : ; }
{ : ; }
நீங்கள் சொந்தமாக இல்லாத நூலகங்கள் அல்லது உலகளாவிய மாறிகளுக்கு வகைகளை சேர்ப்பதே இவ்வாறு:
// Add a custom property to Express's Request
declare global {
namespace Express {
interface Request { user?: { id: string }; } // merges into Express.Request
}
}
request.user; // ✅ now typed everywhere
// Augment a module
declare module "some-lib" {
interface Options { newOption: boolean; }
}
நூலகத்தின் Request/Options ஒரு interface ஆக இருப்பதால், உங்கள் அறிவிப்பு அதுடன் இணைந்துவிடும் மாறாக மோதிக்கொள்ளாது — நீங்கள் மாற்ற முடியாத வகைகளை பாதுகாப்பாக விரிவுபடுத்தக் கூடிய வழி.
function greet() {}
namespace greet { export const version = "1.0"; }
greet.version; // "1.0" — namespace merged onto the function
type இதை ஏன் செய்ய முடியாதுtype A = { x: number };
type A = { y: number }; // ❌ Error: duplicate identifier
வகை aliases தனித்துவம் வாய்ந்தவை; interfaces (மற்றும் namespaces) மட்டுமே இணைந்துவிடும் — விரிவுபடுத்தக்கூடிய பொது API வடிவங்களுக்கு interface பயன்படுத்துவதற்கான முக்கிய காரணம்.
அறிவிப்பு இணைப்பு module augmentation இன் பின்னணி பொறிமுறை — Express கோரிக்கைகளை விரிவுபடுத்துவது, window சேர்ப்பது, நூலக வகைகளை தனிப்பொருளாக்குவது, தீம் அமைப்புகள்.
நீங்கள் கட்டுப்படுத்தாத வகைகளை தகவமாற்ற வேண்டிய உண்மையான பயன்பாடுகளுக்கான வகைகளை பொருத்தமாக்குவதற்கு இது முக்கியமான அறிவு.