| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/export | [Back] [Original] |
Get to know MDN better
//
export let name1, name2/*, */; // var
export const name1 = 1, name2 = 2/*, */; // var, let
export function functionName() { /* */ }
export class ClassName { /* */ }
export function* generatorFunctionName() { /* */ }
export const { name1, name2: bar } = o;
export const [ name1, name2 ] = array;
//
export { name1, /* , */ nameN };
export { variable1 as name1, variable2 as name2, /* , */ nameN };
export { variable1 as "string name" };
export { name1 as default /*, */ };
//
export default expression;
export default function functionName() { /* */ }
export default class ClassName { /* */ }
export default function* generatorFunctionName() { /* */ }
export default function () { /* */ }
export default class { /* */ }
export default function* () { /* */ }
//
export * from "module-name";
export * as name1 from "module-name";
export { name1, /* , */ nameN } from "module-name";
export { import1 as name1, import2 as name2, /* , */ nameN } from "module-name";
export { default, /* , */ } from "module-name";
export { default as name1 } from "module-name";
2 1
:
//
export { myFunction2, myVariable2 };
//
// (var, let, const, function, class )
export let myVariable = Math.sqrt(2);
export function myFunction() {
//
}
export let, const, var export { name1, name2 } export {}
export using await using using await using
export using resource1 = getResource(); // SyntaxError
//
using resource2 = getResource();
export { resource2 };
export { x };
const x = 1;
// `export``x`
//
:
//
export { myFunction as default };
//
export default myFunction;
//
export default function () { /* */ }
export default class { /* */ }
:
default SyntaxError
export default
export default 1 + 1;
// `foo`
foo();
export default function foo() {
console.log("Hi");
}
//
export default function () {
console.log("Hi");
}
as
// test.js
const k = 12;
export default k;
//
import m from "./test"; // k k m
console.log(m); // 12
export { myFunction as function1, myVariable as variable };
export { myFunction as "my-function" };
/ 1
"export from"
export { default as function1, function2 } from "bar.js";
function1 function2 import export
import { default as function1, function2 } from "bar.js";
export { function1, function2 };
"import from" "export from"
export { x } from "mod";
export { x as v } from "mod";
export * as ns from "mod";
import * from "mod" export * from "mod" mod mod 2 export
// -- mod1.js --
export const a = 1;
// -- mod2.js --
export const a = 3;
// -- barrel.js --
export * from "./mod1.js";
export * from "./mod2.js";
// -- main.js --
import * as ns from "./barrel.js";
console.log(ns.a); // undefined
import { a } from "./barrel.js";
// SyntaxError: The requested module './barrel.js' contains conflicting star exports for name 'a'
import
export DefaultExport from "bar.js"; // Invalid
export { default as DefaultExport } from "bar.js";
export from" as
export { default, function2 } from "bar.js";
export { default } from "./data.json" with { type: "json" };
my-module.js
// "my-module.js"
function cube(x) {
return x * x * x;
}
const foo = Math.PI + Math.SQRT2;
const graph = {
options: {
color: "white",
thickness: "2px",
},
draw() {
console.log("From graph draw function");
},
};
export { cube, foo, graph };
HTML
import { cube, foo, graph } from "./my-module.js";
graph.options = {
color: "blue",
thickness: "3px",
};
graph.draw(); // "From graph draw function"
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
// module "cube.js"
export default function cube(x) {
return x * x * x;
}
import cube from "./cube.js";
console.log(cube(3)); // 27
childModule1.js: myFunction myVariable childModule2.js: myClass parentModule.js: parentModule.js // childModule1.js
function myFunction() {
console.log("Hello!");
}
const myVariable = 1;
export { myFunction, myVariable };
// childModule2.js
class MyClass {
constructor(x) {
this.x = x;
}
}
export { MyClass };
// parentModule.js
// childModule1 childModule2
//
export { myFunction, myVariable } from "childModule1.js";
export { MyClass } from "childModule2.js";
//
// parentModule
//
import { myFunction, myVariable, MyClass } from "parentModule.js";
| ECMAScript 2027 LanguageSpecification # sec-exports |
import| Web Proxy Viewer | New URL | Original Page |