Heim > Fragen und Antworten > Hauptteil
Liebe Leute, als ich mir das ES6-Einführungs-Tutorial von Lehrer Ruan Yifeng angesehen habe, habe ich einen Abschnitt viele Male gelesen, ihn aber immer noch nicht verstanden
Es ist zu beachten, dass der Exportbefehl die externe Schnittstelle angibt und eine Eins-zu-eins-Entsprechung mit den Variablen innerhalb des Moduls herstellen muss.
// 报错
export 1;
// 报错
var m = 1;
export m;
Die beiden oben genannten Schreibmethoden melden Fehler, da keine externe Schnittstelle bereitgestellt wird. Die erste Schreibweise gibt 1 direkt aus, und die zweite Schreibweise gibt 1 direkt über die Variable m aus. 1 ist nur ein Wert, keine Schnittstelle. Die richtige Schreibweise ist wie folgt.
// 写法一
export var m = 1;
// 写法二
var m = 1;
export {m};
// 写法三
var n = 1;
export {n as m};
Die oben genannten drei Schreibweisen sind alle korrekt und geben die externe Schnittstelle m an. Andere Skripte können über diese Schnittstelle den Wert 1 erhalten. Ihr Kern besteht darin, eine Eins-zu-eins-Entsprechung zwischen dem Schnittstellennamen und den internen Variablen des Moduls herzustellen.
Was genau ist hier mit dieser „Schnittstelle“ gemeint?
für
// 报错
function f() {}
export f;
// 正确
export function f() {};
Was ist der Unterschied?
世界只因有你2017-05-19 10:24:15
你不妨直接看一看语法是如何规定的:
export { name1, name2, …, nameN };
export { variable1 as name1, variable2 as name2, …, nameN };
export let name1, name2, …, nameN; // also var
export let name1 = …, name2 = …, …, nameN; // also var, const
export expression;
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 …;
取自 https://developer.mozilla.org...
ta说的接口就是 expression
即表达式,用通俗的话说就是不是常量(固定值)的那么一种东西。
另外,你可以用default这样写:
export default m = 1
因为 m = 1
是一个表达式。其它地方你可以直接 import m from ...
然后 m 的值就是1.