Rumah > hujung hadapan web > tutorial js > Mengapa Babel Menggunakan `(0, fn)(...)` Apabila Memanggil Fungsi yang Diimport?

Mengapa Babel Menggunakan `(0, fn)(...)` Apabila Memanggil Fungsi yang Diimport?

Susan Sarandon
Lepaskan: 2024-12-14 22:24:19
asal
198 orang telah melayarinya

Why Does Babel Use `(0, fn)(...)` When Calling Imported Functions?

Mengapa (0, Panggilan Fungsi Babel) dalam Output Tersusun Babel?

Apabila mengimport fungsi daripada modul luaran dan menggunakannya dalam kod anda, anda mungkin melihat tingkah laku yang menarik dalam output Babel yang diubah. Fungsi dibungkus dalam bentuk (0, fn)(...). Ini berbeza daripada panggilan fungsi asal tanpa pengendali koma apabila disusun dalam mod longgar.

Transformasi ini mempunyai tujuan khusus: ia memastikan bahawa konteks ini fungsi ditetapkan kepada sama ada objek global dalam mod tidak ketat atau tidak ditentukan dalam mod ketat. Apabila memanggil _b.a() secara terus, ini akan lalai kepada _b objek modul.

Dengan menggunakan (0, _b.a)(), Babel forces fungsi yang akan dipanggil dengan ini ditetapkan kepada nilai yang sesuai. Pengendali koma (,) pada asasnya membuang nilai pulangan ungkapan sebelumnya (dalam kes ini, 0) dan menilai sebelah kanan, iaitu panggilan fungsi dalam kejadian ini.

Pada dasarnya, yang diubah kod adalah bersamaan dengan:

0; // Ignore result
var tmp = _b.a;
tmp();
Salin selepas log masuk

Teknik ini menjamin bahawa fungsi ini konteks adalah konsisten dengan tingkah laku yang diharapkan.

Atas ialah kandungan terperinci Mengapa Babel Menggunakan `(0, fn)(...)` Apabila Memanggil Fungsi yang Diimport?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan