Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Instructions
  5. export

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

export

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨mai 2018⁩.

L'instructionexport est utilisée lors de la création de modules JavaScript pour exporter des fonctions, des objets ou des valeurs primitives à partir du module, de sorte qu'ils puissent être utilisés par d'autres programmes grâce à l'instructionimport.

Les modules exportés sont interprétés enmode strict dans tous les cas. L'instructionexport ne peut pas être utilisée dans les scripts embarqués.

Syntaxe

js
// Exporter des propriétés individuellesexport let nom1, nom2, …, nomN; // utilisable avec var, constexport let nom1 = …, nom2 = …, …, nomN; // utilisable avec var, constexport function nomFonction(){...}export class NomClasse {...}// Export d'une liste de valeurexport { nom1, nom2, …, nomN };// Renommage des valeurs exportéesexport { variable1 as nom1, variable2 as nom2, …, nomN };// Renommage avec la décomposition pour l'affectationexport const { nom1, nom2: truc } = o;// Exports par défautsexport default expression;export default function (…) { … } // fonctionne avec class, function*export default function nom1(…) { … } // fonctionne avec class, function*export { nom1 as default, … };// Agrégation de modulesexport * from …;export { nom1, nom2, …, nomN } from …;export { import1 as nom1, import2 as nom2, …, nomN } from …;export { default } from …;
nomN

Identifiant à exporter (afin qu'il puisse être importé viaimport dans un autre script).

Description

Il existe deux types d'export différents : les exportsnommés et les exportspar défaut. Il est possible d'avoir plusieurs exports nommés mais un seul export par défaut. Chaque type correspond à une des syntaxes ci-dessus :

  • Les exports nommés :

    js
    // exporte une fonction déclarée précédemmentexport { maFonction };// exporte une constanteexport const machin = Math.sqrt(2);
  • Les exports par défaut (fonction) :

    js
    export default function () {}
  • Les exports par défaut (classe) :

    js
    export default class {}

Les exports nommés sont utiles pour exporter plusieurs valeurs. Lors de l'importation, il est obligatoire d'utiliser le même nom de l'objet correspondant.

Mais un export par défaut peut être importé avec n'importe quel nom, par exemple :

js
let k;export default k = 12; // dans le fichier test.jsimport m from "./test"; // notez que nous avons la liberté d'utiliser import m au lieu de import k, parce que k était l'export par défautconsole.log(m); // enregistrera 12

La syntaxe suivante n'exporte pas le défaut depuis le module importé :

js
export * from …;

Si vous avez besoin d'exporter le défaut, écrivez ce qui suit à la place :

js
export { default } from "mod";

Il est possible de renommer un export afin d'éviter des conflits de nommage :

js
export { maFonction as fonction1         maVariable as variable1 };

On peut également agréger les valeurs exportées à celles d'autres modules qu'on aurait importés :

js
// Dans moduleParent.jsexport { maFonction, maVariable } from "moduleFils1.js";export { maClasse } from "moduleFils2.js";// Dans le module de plus haut niveauimport { maFonction, maVariable, maClasse } from "moduleParent.js";

Exemples

Utilisation d'exports nommés

Dans le module, on pourra utiliser le code suivant :

js
// module "mon-module.js"function cube(x) {  return x * x * x;}const machin = Math.PI + Math.SQRT2;export { cube, machin };

De cette façon, dans un autre script, on pourra avoir :

js
import { cube, machin } from "mon-module";console.log(cube(3)); // 27console.log(machin); // 4.555806215962888

Note :Si l'import est réalisé dans un script HTML, il faut que celui-ci soit chargé avec l'attributtype"module" :<script type="module" src="./demo.js"></script> sinon il y aura une erreur quant aux origines multiples (CORS).Il n'est pas possible de charger des modules JavaScript via une URLfile:// pour des raisons de sécurité (voirCORS également). Il faudra utiliser un serveur HTTP.

Utilisation d'exports par défaut

Si on souhaite n'exporter qu'une seule valeur ou avoir une valeur de secours pour le module, on peut utiliser un export par défaut :

js
// module "mon-module.js"export default function cube(x) {  return x * x * x;}

Alors, dans un autre script, il sera facile d'importer l'export par défaut :

js
import cube from "./mon-module.js";console.log(cube(3)); // 27

Notez qu'il n'est pas possible d'utiliservar,let ouconst avecexport default.

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-exports

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp