javascript - Un problème de compréhension de l'exportation ES6
世界只因有你
世界只因有你 2017-05-19 10:22:15
0
1
580

Chers amis, lorsque je regardais le didacticiel d'introduction à l'es6 du professeur Ruan Yifeng, il y avait une section que je n'ai pas comprise même après l'avoir lue plusieurs fois

Il est à noter que la commande export spécifie l'interface externe et doit établir une correspondance biunivoque avec les variables à l'intérieur du module.

// 报错
export 1;

// 报错
var m = 1;
export m;

Les deux méthodes d'écriture ci-dessus signaleront des erreurs car aucune interface externe n'est fournie. La première façon d'écrire directement en sortie 1, et la deuxième façon d'écrire directement en sortie 1 via la variable m 1 n'est qu'une valeur, pas une interface. La bonne façon de l’écrire est la suivante.

// 写法一
export var m = 1;

// 写法二
var m = 1;
export {m};

// 写法三
var n = 1;
export {n as m};

Les trois manières d'écrire ci-dessus sont toutes correctes et précisent l'interface externe m. D'autres scripts peuvent obtenir la valeur 1 via cette interface. Leur essence est d'établir une correspondance biunivoque entre le nom de l'interface et les variables internes du module.

À quoi fait exactement référence cette « interface » ici ?
pour

// 报错
function f() {}
export f;

// 正确
export function f() {};

Quelle est la différence ?

世界只因有你
世界只因有你

répondre à tous(1)
世界只因有你

Autant jeter un oeil directement à la manière dont est stipulée la grammaire :

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 …;

Récupéré de https://developer.mozilla.org...

L'interface dont il parle est expression, qui est une expression en termes simples, c'est quelque chose qui n'est pas une constante (valeur fixe). expression 即表达式,用通俗的话说就是不是常量(固定值)的那么一种东西。

另外,你可以用default这样写:

export default m = 1

因为 m = 1 是一个表达式。其它地方你可以直接 import m from ...

De plus, vous pouvez utiliser default pour écrire comme ceci : #🎜🎜# rrreee #🎜🎜#Parce que m = 1 est une expression. Dans d'autres endroits, vous pouvez directement importer m depuis ... et alors la valeur de m est 1.#🎜🎜#
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal