From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/statements/export/index.html | 155 +++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 files/nl/web/javascript/reference/statements/export/index.html (limited to 'files/nl/web/javascript/reference/statements/export/index.html') diff --git a/files/nl/web/javascript/reference/statements/export/index.html b/files/nl/web/javascript/reference/statements/export/index.html new file mode 100644 index 0000000000..b08808c693 --- /dev/null +++ b/files/nl/web/javascript/reference/statements/export/index.html @@ -0,0 +1,155 @@ +--- +title: export +slug: Web/JavaScript/Reference/Statements/export +translation_of: Web/JavaScript/Reference/Statements/export +--- +
{{jsSidebar("Statements")}}
+ +

Het export statement wordt gebruikt bij het maken van JavaScript modules om functies, objecten of primitieve waarden te exporteren van de module zodat deze gebruikt kunnen worden door andere programmas met het {{jsxref("Statements/import", "import")}} statement.

+ +

Geëxporteerde modules worden altijd uitgevoerd in {{jsxref("Strict_mode","strict mode")}}, ongeacht of dat is aangegeven. Het export-statement kan niet gebruikt worden in ingevoegde scripts.

+ +
+

Deze functie is momenteel niet geïmplementeerd in Internet Explorer, Android webview en Samsung Internet. Het is wel geïmplementeerd in 'transpilers' zoals de Traceur Compiler, Babel of Rollup.

+
+ +

Syntax

+ +
export { name1, name2, …, nameN };
+export { variable1 as name1, variable2 as name2, …, nameN };
+export let name1, name2, …, nameN; // also var, function
+export let name1 = …, name2 = …, …, nameN; // also var, const
+export function FunctionName() {...}
+export class ClassName {...}
+
+export default expression;
+export default function (…) { … } // also class, function*
+export default function name1(…) { … } // also class, function*
+export { name1 as default, … };
+
+export * from …;
+export { name1, name2, …, nameN } from …;
+export { import1 as name1, import2 as name2, …, nameN } from …;
+export { default } from …;
+ +

 

+ +
+
nameN
+
Identificator die geëxporteerd moet worden (zodat het geïmporteerd kan worden via {{jsxref("Statements/import", "import")}} in een ander script).
+
+ +

Beschrijving

+ +

Er zijn 2 verschillende types van export: named en default. Er kunnen meerdere named exports per module bestaan, maar slechts een default export. Elk type komt overeen met een van de bovenstaande syntaxen.

+ + + +

Genoemde exports zijn handig om verschillende waardes te exporteren. Tijdens de import is het verplicht om dezelfde naam als het overeenkomende object te gebruiken.

+ +

Maar een standaard export kan geïmporteerd worden met enige andere naam, bijvoorbeeld:

+ +
let k; export default k = 12; // in bestand test.js
+
+import m from './test' // let op dat we de vrijheid hebben om import m te gebruiken in plaats van import k, omdat k een default export is.
+
+console.log(m);        // Zal '12' in de console laten zien
+
+ +

Er kan slechts 1 standaard export zijn.

+ +

De volgende syntax exporteert geen standaard export van de geïmporteerde module:

+ +
export * from …;
+ +

Gebruik de volgende syntax als de standaard export nodig is:

+ +
export {default} from 'mod';
+ +

Voorbeelden

+ +

Genoemde (named) exports gebruiken

+ +

In de module zouden we de volgende code kunnen gebruiken:

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

Op deze manier zouden we in een ander script deze code kunnen hebben:

+ +
import { cube, foo } from 'my-module';
+console.log(cube(3)); // 27
+console.log(foo);    // 4.555806215962888
+ +

De standaard (default) export gebruiken

+ +

Als we een enkele waarde willen exporteren of willen terugvallen op een waarde voor onze module zouden we een standaard (default) export kunnen gebruiken:

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

Op die manier zal het vanzelfsprekend zijn om in een ander script de standaard (default) export te importeren:

+ +
import cube from 'my-module';
+console.log(cube(3)); // 27
+
+ +

Merk op dat het niet mogelijk is om var, let of const te gebruiken met export default.

+ +

Specificaties

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES2015', '#sec-exports', 'Exports')}}{{Spec2('ES2015')}}Initiële definitie.
{{SpecName('ESDraft', '#sec-exports', 'Exports')}}{{Spec2('ESDraft')}} 
+ +

Browser compatibiliteit

+ + + +

{{Compat("javascript.statements.export")}}

+ +

Bekijk ook

+ + -- cgit v1.2.3-54-g00ecf