Baseline Widely available
export
宣è¨ã¯ãJavaScript ã¢ã¸ã¥ã¼ã«ããå¤ãã¨ã¯ã¹ãã¼ãããããã«ä½¿ç¨ããã¾ããã¨ã¯ã¹ãã¼ããããå¤ã¯ import
宣è¨ããã¤ãããã¯ã¤ã³ãã¼ãã«ãã£ã¦ãä»ã®ããã°ã©ã ã«ã¤ã³ãã¼ããããã¨ãã§ãã¾ããã¤ã³ãã¼ãããããã¤ã³ãã£ã³ã°ã®å¤ã¯ããããã¨ã¯ã¹ãã¼ãããã¢ã¸ã¥ã¼ã«ã®å¤æ´ã®å¯¾è±¡ã¨ãªãã¾ããã¢ã¸ã¥ã¼ã«ãã¨ã¯ã¹ãã¼ããããã¤ã³ãã£ã³ã°ã®å¤ãæ´æ°ããã¨ããã®æ´æ°ã¯ã¤ã³ãã¼ããããå¤ã¨ãã¦è¦ãã¾ãã
ã½ã¼ã¹ãã¡ã¤ã«ã§ export
宣è¨ã使ç¨ããããã«ã¯ããã®ãã¡ã¤ã«ã¯ã©ã³ã¿ã¤ã ã«ãã£ã¦ã¢ã¸ã¥ã¼ã«ã¨ãã¦è§£éãããå¿
è¦ãããã¾ããHTML ã§ã¯ã<script>
ã¿ã°ã« type="module"
ã追å ããããä»ã®ã¢ã¸ã¥ã¼ã«ã«ã¤ã³ãã¼ãããããã¨ã§å®ç¾ããã¾ããã¢ã¸ã¥ã¼ã«ã¯èªåçã«å³æ ¼ã¢ã¼ãã§è§£éããã¾ãã
// åã
ã®æ©è½ãã¨ã¯ã¹ãã¼ã
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 ã¤ã®ã¿ã§ããããããã®ã¨ã¯ã¹ãã¼ãæ¹æ³ã¯ãä¸è¨ã®æ§æã®ã²ã¨ã¤ã«å¯¾å¿ãã¾ãã
ååä»ãã¨ã¯ã¹ãã¼ã:
// äºåã«å®£è¨ãããæ©è½ã®ã¨ã¯ã¹ãã¼ã
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 {}
ã¯ç©ºã®ãªãã¸ã§ã¯ããã¨ã¯ã¹ãã¼ãããããã§ã¯ãªããã¨ã«æ³¨æãã¦ãã ãããããã¯ä½ãã¨ã¯ã¹ãã¼ãããªãï¼ç©ºã®ååã®ãªã¹ããã¨ã¯ã¹ãã¼ãããï¼ãã¼ãªãã¬ã¼ã·ã§ã³å®£è¨ã§ãã
ã¨ã¯ã¹ãã¼ã宣è¨ã¯ä¸æçãªãããã¾ã¼ã³ã®ã«ã¼ã«ã«ã¯å¾ãã¾ãããX
ã¨ããååèªä½ã宣è¨ãããåã«ããã®ã¢ã¸ã¥ã¼ã«ã X
ãã¨ã¯ã¹ãã¼ããããã¨ã宣è¨ãããã¨ãã§ãã¾ãã
export { x };
const x = 1;
// ããã¯ã`export`ãåãªã宣è¨ã§ããã`x`ã®å¤ãå©ç¨ããªãã®ã§ã
// åä½ãã¾ãã
ããã©ã«ãã¨ã¯ã¹ãã¼ã:
// ããã©ã«ãã¨ãã¦äºåã«å®ç¾©ãããæ©è½ã®ã¨ã¯ã¹ãã¼ã
export { myFunction as default };
// ããã¯æ¬¡ã®ãã®ã¨åçã§ã
export default myFunction;
// åå¥ã®æ©è½ãããã©ã«ãã¨ãã¦ã¨ã¯ã¹ãã¼ã
export default function () { /* ⦠*/ }
export default class { /* ⦠*/ }
ã¡ã¢: ã¨ã¯ã¹ãã¼ã宣è¨ã®ååã¯ãäºãã«ç°ãªããã®ã§ãªããã°ãªãã¾ãããéè¤ããååã§ã¨ã¯ã¹ãã¼ãã宿½ããããdefault
ã®ã¨ã¯ã¹ãã¼ããè¤æ°ä½¿ç¨ãã㨠SyntaxError
ãçºçããã¢ã¸ã¥ã¼ã«ãè©ä¾¡ãããªããªãã¾ãã
export default
æ§æã§ã¯ããããå¼ã許å¯ããã¾ãã
ç¹æ®ãªã±ã¼ã¹ã¨ãã¦ã颿°ãã¯ã©ã¹ã¯å¼ã§ã¯ãªã å®£è¨ ã¨ãã¦ã¨ã¯ã¹ãã¼ãããããããã®å®£è¨ã¯ç¡åã«ãããã¨ãã§ãã¾ããã¤ã¾ãã颿°ã¯å·»ãä¸ããè¡ããããã¨ã«ãªãã¾ãã
// ãã㯠`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 from
㯠import
ã対å¿ãã¦ãããã¹ã¦ã®æ©è½ã«å¯¾å¿ãã¦ãã¾ããä¾ãã°ã¤ã³ãã¼ã屿§ãªã©ã§ãã
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
以ä¸ã®ç¹ã«æ³¨æãããã¨ãéè¦ã§ãã
<script>
è¦ç´ ã§ type="module" ãæå®ãããã®ã«å
¥ããå¿
è¦ããããããããã°é©åã«ã¢ã¸ã¥ã¼ã«ã¨ãã¦èªèãããæ±ããã¾ããfile://
ã® URL ã§ JavaScript ã¢ã¸ã¥ã¼ã«ãå®è¡ãããã¨ã¯ã§ãã¾ãããâ CORS ã¨ã©ã¼ã«ãªãã¾ããHTTP ãµã¼ãã¼ãéãã¦å®è¡ããå¿
è¦ãããã¾ããå¤ãã²ã¨ã¤ã¨ã¯ã¹ãã¼ããããããããã¯ã¢ã¸ã¥ã¼ã«ã§ãã©ã¼ã«ããã¯å ã®å¤ãæã¡ããå ´åã¯ãããã©ã«ãã¨ã¯ã¹ãã¼ãã使ç¨ããã¨ããã§ãããã
// module "my-module.js"
export default function cube(x) {
return x * x * x;
}
å¥ã®ã¹ã¯ãªããããã®ãããã©ã«ãã¨ã¯ã¹ãã¼ãã®ã¤ã³ãã¼ãã¯ç´è¦³çã§ãã
import cube from "./my-module.js";
console.log(cube(3)); // 27
export from ã®ä½¿ç¨
以ä¸ã®ãããªé層ãããå ´åãä¾ã«èãã¦ã¿ã¾ãããã
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";
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4