javascript - Masalah pemahaman eksport es6
世界只因有你
世界只因有你 2017-05-19 10:22:15
0
1
595

Saudara sekalian, semasa saya menonton tutorial pengenalan es6 Teacher Ruan Yifeng, ada bahagian yang saya tidak faham walaupun selepas membacanya beberapa kali

Perlu diingatkan bahawa arahan eksport menentukan antara muka luaran dan mesti mewujudkan surat-menyurat satu dengan satu dengan pembolehubah di dalam modul.

// 报错
export 1;

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

Dua kaedah penulisan di atas akan melaporkan ralat kerana tiada antara muka luaran disediakan. Cara pertama menulis secara langsung mengeluarkan 1, dan cara kedua menulis secara langsung mengeluarkan 1 melalui pembolehubah m 1 hanyalah nilai, bukan antara muka. Cara penulisan yang betul adalah seperti berikut.

// 写法一
export var m = 1;

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

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

Tiga cara penulisan di atas semuanya betul dan nyatakan antara muka luaran m. Skrip lain boleh mendapatkan nilai 1 melalui antara muka ini. Intipatinya adalah untuk mewujudkan korespondensi satu-dengan-satu antara nama antara muka dan pembolehubah dalaman modul.

Apakah sebenarnya yang dimaksudkan "antara muka" ini di sini?
untuk

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

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

Apakah perbezaannya?

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

membalas semua(1)
世界只因有你

Anda juga boleh melihat secara langsung bagaimana tatabahasa itu ditetapkan:

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

Diambil daripada https://developer.mozilla.org...

Antara muka yang dia maksudkan ialah ungkapan, iaitu ungkapan Dalam istilah orang awam, ia adalah sesuatu yang bukan pemalar (nilai tetap). expression 即表达式,用通俗的话说就是不是常量(固定值)的那么一种东西。

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

export default m = 1

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

Selain itu, anda boleh menggunakan lalai untuk menulis seperti ini: 🎜 rrreee 🎜Kerana m = 1 ialah ungkapan. Di tempat lain, anda boleh terus import m dari ... dan kemudian nilai m akan menjadi 1.🎜
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan