[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/export [Back]  [Original]

export - JavaScript | MDN

MDN Web Docs

View in English Always switch to English

export

Baseline

20185

export JavaScript import

export HTML <script> type="module"

js
// 
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";
nameN

import as

2 1

:

js
// 
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

js
export using resource1 = getResource(); // SyntaxError

// 
using resource2 = getResource();
export { resource2 };

X X

js
export { x };
const x = 1;
// `export``x`
// 

:

js
// 
export { myFunction as default };
// 
export default myFunction;

// 
export default function () { /*  */ }
export default class { /*  */ }

: default SyntaxError

export default

js
export default 1 + 1;

js
//  `foo` 
foo();

export default function foo() {
  console.log("Hi");
}

// 
export default function () {
  console.log("Hi");
}

as

js
//  test.js
const k = 12;
export default k;
js
// 
import m from "./test"; // k  k  m 

console.log(m); // 12

js
export { myFunction as function1, myVariable as variable };

js
export { myFunction as "my-function" };

/

/ 1

"export from"

js
export { default as function1, function2 } from "bar.js";

function1 function2 import export

js
import { default as function1, function2 } from "bar.js";

export { function1, function2 };

"import from" "export from"

js
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

js
// -- 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

js
import { a } from "./barrel.js";
// SyntaxError: The requested module './barrel.js' contains conflicting star exports for name 'a'

import

js
export DefaultExport from "bar.js"; // Invalid

js
export { default as DefaultExport } from "bar.js";

export from" as

js
export { default, function2 } from "bar.js";

export from import

js
export { default } from "./data.json" with { type: "json" };

my-module.js

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

js
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

  • HTML <script> type="module"
  • file:// URL JavaScript CORS HTTP

js
// module "cube.js"

export default function cube(x) {
  return x * x * x;
}

js
import cube from "./cube.js";

console.log(cube(3)); // 27

export from

  • childModule1.js: myFunction myVariable
  • childModule2.js: myClass
  • parentModule.js:
  • parentModule.js

js
// childModule1.js 
function myFunction() {
  console.log("Hello!");
}
const myVariable = 1;
export { myFunction, myVariable };
js
// childModule2.js 
class MyClass {
  constructor(x) {
    this.x = x;
  }
}

export { MyClass };
js
// parentModule.js
// childModule1  childModule2 
// 
export { myFunction, myVariable } from "childModule1.js";
export { MyClass } from "childModule2.js";
js
// 
// parentModule 
// 
import { myFunction, myVariable, MyClass } from "parentModule.js";

ECMAScript 2027 LanguageSpecification
# sec-exports


Web Proxy Viewer  |  New URL  |  Original Page