Fungsi Anak Panah: Memahami Nilai Pulangan Yang Hilang
Dalam bidang JavaScript, fungsi anak panah telah muncul sebagai pilihan popular untuk ringkas dan ekspresif kod. Walau bagaimanapun, masalah biasa boleh timbul apabila menggunakan versi badan fungsi (dengan pendakap kerinting).
Isu: Nilai Pulangan Hilang
Pertimbangkan fungsi anak panah berikut:
const f = arg => { arg.toUpperCase(); };
Apabila dipanggil, fungsi ini mengembalikan tidak ditentukan dan bukannya nilai yang dijangkakan. Mengapa begitu?
Menyingkap Pemulangan Tersirat
Dalam fungsi anak panah, pernyataan pemulangan digunakan secara tersirat apabila menggunakan badan ringkas (tanpa pendakap kerinting). Ini bermakna hasil ungkapan dalam kurungan menjadi nilai yang dikembalikan.
Contoh Isi Ringkas:
const f = arg => arg.toUpperCase();
Sekarang, menggunakan fungsi ini mengembalikan rentetan yang diingini:
console.log(f("testing")); // "TESTING"
Pulangan Eksplisit untuk Fungsi Badan
Walau bagaimanapun, apabila menggunakan pendakap kerinting, pernyataan pemulangan yang jelas diperlukan untuk menunjukkan perkara yang perlu dikembalikan. Jika tidak, fungsi itu akan kembali tidak ditentukan.
Contoh Pulangan Eksplisit:
const f = arg => { return arg.toUpperCase(); };
Menggunakan fungsi yang diubah suai ini menghasilkan hasil yang sama:
console.log(f("testing")); // "TESTING"
Ingat: Pulangan tersirat wujud dalam badan anak panah yang ringkas fungsi, manakala pemulangan eksplisit diperlukan apabila menggunakan pendakap kerinting untuk badan fungsi. Memahami perbezaan ini adalah penting untuk mengelakkan nilai yang tidak ditakrifkan yang tidak dijangka dalam kod anda.
Atas ialah kandungan terperinci Mengapakah Anak Panah Berfungsi dengan Pendakap Kerinting Kembali `undefined` Melainkan Dipulangkan Secara Eksplisit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!