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 ?
Autant jeter un oeil directement à la manière dont est stipulée la grammaire :
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这样写:
因为
De plus, vous pouvez utiliser default pour écrire comme ceci : #🎜🎜# rrreee #🎜🎜#Parce quem = 1
是一个表达式。其它地方你可以直接import m from ...
m = 1
est une expression. Dans d'autres endroits, vous pouvez directementimporter m depuis ...
et alors la valeur de m est 1.#🎜🎜#