మాడ్యూల్ పాఠాలు (2/2)
ప్రకటనలు మరియు విలీనం
టైప్ డిక్లరేషన్ ఫైల్లు (.d.ts ఎక్స్టెన్షన్తో) టైప్స్క్రిప్ట్లో అసలు లాజిక్ను అమలు చేయకుండా ఇప్పటికే ఉన్న జావాస్క్రిప్ట్ కోడ్ ఆకారాన్ని వివరించడానికి ఉపయోగించబడతాయి. అవి టైప్ డెఫినిషన్లు, ఇంటర్ఫేస్లు మరియు ఫంక్షన్ సిగ్నేచర్లను మాత్రమే కలిగి ఉంటాయి.
స్వచ్ఛమైన జావాస్క్రిప్ట్లో వ్రాసిన మూడవ పక్షం లైబ్రరీలను ఉపయోగిస్తున్నప్పుడు ఈ ఫైల్లు అవసరం.
డిక్లరేషన్ విలీనం
డిక్లరేషన్ మెర్జింగ్ అనేది కంపైలర్ ఒకే పేరుతో ప్రకటించబడిన రెండు లేదా అంతకంటే ఎక్కువ వేర్వేరు డిక్లరేషన్లను ఒకే నిర్వచనంలో విలీనం చేసే ప్రవర్తన.
అత్యంత సాధారణ సందర్భం ఇంటర్ఫేస్ విలీనం:
interface User {
name: string;
}
interface User {
age: number;
}
// The resulting User interface has both name and age properties!
const student: User = {
name: 'Alice',
age: 23,
};ప్రాపర్టీలు ఒకే పేరుతో ఉంటే, అవి తప్పనిసరిగా ఒకే రకంగా ఉండాలి, లేకుంటే టైప్స్క్రిప్ట్ లోపాన్ని నివేదిస్తుంది.
గ్లోబల్ మరియు ఎక్స్టర్నల్ మాడ్యూల్లను సవరించడం
ఇతర మాడ్యూల్స్లో లేదా గ్లోబల్ స్కోప్లో నిర్వచించబడిన ఇంటర్ఫేస్లను విస్తరించడానికి మేము డిక్లరేషన్ విలీనాన్ని ఉపయోగించవచ్చు.
ఉదాహరణకు, మేము బ్రౌజర్ యొక్క గ్లోబల్ window ఆబ్జెక్ట్కు ప్రాపర్టీని జోడించాలనుకుంటే:
declare global {
interface Window {
analyticsToken: string;
}
}declare globalని ఉపయోగించడం ద్వారా, మేము ఇప్పటికే ఉన్న గ్లోబల్ Window ఇంటర్ఫేస్లో కొత్త సంతకాన్ని ఇంజెక్ట్ చేస్తున్నామని టైప్స్క్రిప్ట్కి తెలియజేస్తాము.
మీరే ప్రయత్నించండి
వ్యాయామం 1: ప్రాథమిక ప్రకటన విలీనం
టైప్స్క్రిప్ట్లో, ఒకే స్కోప్లో ఒకే పేరుతో ఉన్న ఇంటర్ఫేస్లు స్వయంచాలకంగా విలీనం చేయబడతాయి. ప్రాపర్టీ పేరు: స్ట్రింగ్తో ఇంటర్ఫేస్ వినియోగదారుని ప్రకటించండి, ఆపై రెండవ బ్లాక్లో ప్రాపర్టీ వయస్సు: నంబర్ను జోడిస్తూ అదే ఇంటర్ఫేస్ వినియోగదారుని ప్రకటించండి. చివరగా, తగిన విలువలతో టైప్ యూజర్ యొక్క స్థిరమైన వినియోగదారుని ప్రకటించండి.
సూచనను చూపించు
ఇంటర్ఫేస్ వినియోగదారుని రెండుసార్లు ప్రకటించి, సంబంధిత లక్షణాలను చొప్పించి, ఆపై వినియోగదారు ఆబ్జెక్ట్కు ఫీల్డ్లను కేటాయించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 2: గ్లోబల్ విండో ఇంటర్ఫేస్ని విస్తరించడం
config రకం Record<string, string> అనే కస్టమ్ ప్రాపర్టీని జోడించడానికి మీరు గ్లోబల్ విండో ఇంటర్ఫేస్ను విస్తరించాలనుకుంటున్నారని ఊహించండి. కొత్త ఆస్తిని గ్లోబల్ విండో ఇంటర్ఫేస్లో విలీనం చేయడానికి డిక్లేర్ గ్లోబల్ ఉపయోగించి సరైన డిక్లరేషన్ను వ్రాయండి.
సూచనను చూపించు
డిక్లేర్ గ్లోబల్ {ఇంటర్ఫేస్ విండో {config: Record<string, string>; } }.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది