TypeScript: export default और export में क्या अंतर है और कब क्या उपयोग करें?
सभी को नमस्ते! मैंने हाल ही में TypeScript सीखना शुरू किया है (पहले शुद्ध JS में लिखता था) और exports में उलझ गया हूँ। लगता है दो तरीके हैं: `export default` और सिर्फ `export`। लेकिन मुझे समझ नहीं आता कि कब कौन सा उपयोग करूँ।
यहाँ एक उदाहरण है। मेरे पास `user.ts` फ़ाइल है:
```typescript
// user.ts
export default class User {
constructor(public name: string) {}
}
export function formatUser(user: User): string {
return `User: ${user.name}`;
}
```
और दूसरी फ़ाइल में मैं import करता हूँ:
```typescript
// app.ts
import User from './user'; // यह काम करता है
import { formatUser } from './user'; // यह भी काम करता है
```
लेकिन मैंने देखा है कि कुछ लोग `import * as UserModule from './user'` लिखते हैं। और default को बिना curly braces के import किया जा सकता है, जबकि named को केवल curly braces में। ऐसा क्यों?
और मुख्य सवाल: कब `export default` करना बेहतर है और कब `export`? क्या कोई नियम या best practices हैं? React में अक्सर components को `export default` से export किया जाता है, और utilities को named export से। क्या यह सही है?