recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Un problème de compréhension de l'exportation ES6

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 ?

世界只因有你世界只因有你2768 Il y a quelques jours602

répondre à tous(1)je répondrai

  • 世界只因有你

    世界只因有你2017-05-19 10:24:15

    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.#🎜🎜#

    répondre
    0
  • Annulerrépondre