पाठ 23 / 26

मॉड्यूल्स: import और export

कोड को फ़ाइलों में बाँटें और उनके बीच टाइप्स और वैल्यू साझा करें।

नेम्ड एक्सपोर्ट्स

एक फ़ाइल जितने चाहे नेम्ड वैल्यू, फ़ंक्शन, टाइप या इंटरफ़ेस एक्सपोर्ट कर सकती है।

// math.ts
export function add(a: number, b: number): number {
  return a + b;
}
export interface Point {
  x: number;
  y: number;
}

डिफ़ॉल्ट एक्सपोर्ट और import

एक फ़ाइल में अधिकतम एक export default होता है — इसे बिना कर्ली ब्रेसेस के इंपोर्ट किया जाता है, और मनचाहा नाम दिया जा सकता है।

// logger.ts
export default function log(msg: string) {
  console.log(`[LOG] ${msg}`);
}

// app.ts
import myLogger from "./logger";
import { add, Point } from "./math";

myLogger("started");

केवल-टाइप इंपोर्ट

import type { Point } from "./math" केवल टाइप इंपोर्ट करता है, जो कंपाइल-टाइम पर पूरी तरह मिट जाता है — आउटपुट JS में कुछ अतिरिक्त नहीं जाता।

त्वरित जाँच: एक फ़ाइल में कितने `export default` स्टेटमेंट हो सकते हैं?

  • अधिकतम एक
  • असीमित
  • प्रति इंटरफ़ेस ठीक एक
Answer

अधिकतम एक — एक मॉड्यूल में कई नेम्ड एक्सपोर्ट हो सकते हैं पर केवल एक डिफ़ॉल्ट एक्सपोर्ट।