Rumah > hujung hadapan web > tutorial js > Mengapa Fungsi Anak Panah Memerlukan Pulangan Eksplisit Apabila Menggunakan Pengisytiharan Blok?

Mengapa Fungsi Anak Panah Memerlukan Pulangan Eksplisit Apabila Menggunakan Pengisytiharan Blok?

Linda Hamilton
Lepaskan: 2024-12-18 09:54:18
asal
309 orang telah melayarinya

Why Do Arrow Functions Need Explicit Returns When Using Block Declarations?

Mengapa Fungsi Anak Panah Tanpa Pengisytiharan Blok Mesti Mengembalikan Nilai Secara Eksplisit

Fungsi anak panah, yang diperkenalkan dalam ES6, memudahkan sintaks fungsi JavaScript. Walau bagaimanapun, ia boleh berkelakuan berbeza daripada fungsi biasa apabila ia datang untuk mengembalikan nilai.

Pertimbangkan fungsi anak panah berikut dengan pengisytiharan blok (disertakan dalam pendakap kerinting):

const f = arg => { arg.toUpperCase(); };
Salin selepas log masuk

Menggunakan fungsi ini tidak mengembalikan nilai, mengakibatkan undefined dicetak ke konsol:

console.log(f("testing")); // undefined
Salin selepas log masuk

Tidak seperti biasa fungsi, fungsi anak panah dengan pengisytiharan blok tidak mengembalikan hasil ungkapan blok secara tersirat. Sebaliknya, penyata pulangan eksplisit diperlukan untuk menentukan nilai pulangan. Oleh itu, fungsi anak panah hendaklah ditulis sebagai:

const f = arg => { return arg.toUpperCase(); }; // Explicit 'return' statement
Salin selepas log masuk

Sebagai alternatif, fungsi anak panah boleh diisytiharkan secara ringkas (tanpa pendakap blok). Dalam kes ini, hasil ungkapan berikutan anak panah dikembalikan secara tersirat:

const f = arg => arg.toUpperCase();
Salin selepas log masuk

Contoh:

const f1 = arg => { return arg.toUpperCase(); }; // With explicit 'return'
console.log(f1("testing"));

const f2 = arg => arg.toUpperCase(); // Concise arrow function
console.log(f2("testing"));
Salin selepas log masuk

Kedua-dua f1 dan f2 mengembalikan rentetan huruf besar "UJIAN". Dengan memahami perbezaan antara fungsi anak panah dengan dan tanpa pengisytiharan blok, anda boleh memastikan bahawa fungsi anak panah anda mengembalikan nilai yang dijangkakan.

Atas ialah kandungan terperinci Mengapa Fungsi Anak Panah Memerlukan Pulangan Eksplisit Apabila Menggunakan Pengisytiharan Blok?. 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