Rumah >hujung hadapan web >tutorial js >Mengapakah Beberapa Fungsi Anak Panah Kembali `tidak ditentukan` Sementara Yang Lain Tidak?

Mengapakah Beberapa Fungsi Anak Panah Kembali `tidak ditentukan` Sementara Yang Lain Tidak?

Patricia Arquette
Patricia Arquetteasal
2024-12-16 16:39:14250semak imbas

Why Do Some Arrow Functions Return `undefined` While Others Don't?

Memahami Nilai Pulangan dalam Fungsi Anak Panah: Dilema Eksplisit vs. Tersirat

Fungsi Anak Panah, yang diperkenalkan dalam ES6, telah mendapat populariti kerana fungsinya. sintaks ringkas dan fleksibiliti. Walau bagaimanapun, perangkap biasa yang melanda pengaturcara pemula timbul apabila berurusan dengan nilai pulangan mereka.

Pertimbangkan fungsi anak panah berikut:

const f = arg => { arg.toUpperCase(); };

Apabila dipanggil, fungsi ini secara tidak dijangka kembali tidak ditentukan. Mengapa ini berlaku?

Pulangan Tersirat dalam Fungsi Anak Panah Ringkas

Fungsi anak panah menawarkan dua varian sintaks yang berbeza: bentuk ringkas tanpa pendakap kerinting dan bentuk yang lebih bertele-tele dengan pendakap kerinting. Bentuk ringkas secara tersirat mengembalikan hasil ekspresi badan, menghapuskan keperluan untuk pernyataan pulangan yang jelas. Oleh itu, fungsi anak panah seperti arg => arg.toUpperCase(); mengembalikan hujah berhuruf besar secara automatik.

Pulangan Eksplisit dalam Fungsi Anak Panah Berkurung Kerinting

Sebaliknya, fungsi anak panah dengan pendakap kerinting menggunakan badan fungsi tradisional. Dalam senario ini, tiada pulangan tersirat. Untuk mendapatkan nilai daripada fungsi anak panah sedemikian, pernyataan pulangan eksplisit mesti digunakan. Mengubah suai contoh kami yang terdahulu:

const f = arg => { return arg.toUpperCase(); };

Sekarang, fungsi akan mengembalikan hujah huruf besar dengan betul. Sebagai alternatif, kita boleh menggunakan bentuk yang lebih ringkas dengan meninggalkan pendakap kerinting:

const f = arg => arg.toUpperCase();

Dalam kes ini, fungsi anak panah secara tersirat mengembalikan hasil ungkapan, iaitu hujah yang dihuruf besar.

Dengan memahami perbezaan antara pulangan tersirat dan eksplisit dalam fungsi anak panah, anda boleh mengelakkan perangkap yang timbul apabila berurusan dengan pulangan mereka nilai.

Atas ialah kandungan terperinci Mengapakah Beberapa Fungsi Anak Panah Kembali `tidak ditentukan` Sementara Yang Lain Tidak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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