Avatar ·

TypeScript : quelle est la différence entre export default et export et quand utiliser quoi ?

Bonjour à tous ! J'ai récemment commencé à étudier TypeScript (avant j'écrivais en JS pur) et je me suis perdu dans les exports. Apparemment, il y a deux façons : `export default` et simplement `export`. Mais je ne comprends pas quand utiliser l'un ou l'autre. Voici un exemple. J'ai un fichier `user.ts` : ```typescript // user.ts export default class User { constructor(public name: string) {} } export function formatUser(user: User): string { return `User: ${user.name}`; } ``` Et dans un autre fichier j'importe : ```typescript // app.ts import User from './user'; // ça marche import { formatUser } from './user'; // ça marche aussi ``` Mais j'ai vu que certains écrivent `import * as UserModule from './user'`. Et on peut aussi importer default sans accolades, tandis que les imports nommés nécessitent des accolades. Pourquoi ? Et la question principale : quand vaut-il mieux utiliser `export default` et quand `export` ? Y a-t-il des règles ou des best practices ? Apparemment dans React, on exporte souvent les composants avec `export default`, et les utilitaires avec des exports nommés.