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?
Anda juga boleh melihat secara langsung bagaimana tatabahasa itu ditetapkan:
Antara muka yang dia maksudkan ialahungkapan, iaitu ungkapan Dalam istilah orang awam, ia adalah sesuatu yang bukan pemalar (nilai tetap).
expression
即表达式,用通俗的话说就是不是常量(固定值)的那么一种东西。另外,你可以用default这样写:
因为
Selain itu, anda boleh menggunakan lalai untuk menulis seperti ini: 🎜 rrreee 🎜Keranam = 1
是一个表达式。其它地方你可以直接import m from ...
m = 1
ialah ungkapan. Di tempat lain, anda boleh terusimport m dari ...
dan kemudian nilai m akan menjadi 1.🎜