Rumah >hujung hadapan web >tutorial js >Bilakah Fungsi Anak Panah ES6 Memerlukan Pernyataan `return` Eksplisit?

Bilakah Fungsi Anak Panah ES6 Memerlukan Pernyataan `return` Eksplisit?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 08:51:10532semak imbas

When Do ES6 Arrow Functions Require an Explicit `return` Statement?

Bilakah Pulangan Eksplisit Diperlukan dalam Fungsi Anak Panah ES6?

Dalam ES6, fungsi anak panah secara tersirat mengembalikan ungkapan dalam badan ringkasnya, menghapuskan keperluan untuk kata kunci pulangan dalam senario dengan satu ungkapan. Walau bagaimanapun, terdapat kes-kes tertentu di mana penyata pemulangan yang jelas masih diperlukan.

Bila Gunakan return dengan Fungsi Anak Panah

  • Apabila Blok Hadir: Fungsi anak panah dengan pendakap kerinting (blok) kehilangan tingkah laku pulangan tersiratnya. Kenyataan pemulangan eksplisit mesti digunakan untuk menentukan nilai pulangan fungsi. Contoh:
() => { console.log('Hello'); } // Implicit return, logs 'Hello'
() => { return 'Hello'; } // Explicit return, returns 'Hello'
  • Sintaks Kabur: Menggunakan pendakap tanpa pulangan yang jelas boleh mewujudkan kekaburan sintaksis. Sebagai contoh, fungsi anak panah berikut:
(name) => {id: name}

Mengembalikan tidak ditentukan kerana pendakap menunjukkan blok, mentafsir id sebagai label dan bukannya nama sifat.

  • Ungkapan Berbilang baris: Apabila ungkapan fungsi anak panah menjangkau berbilang baris, ia boleh mengelirukan untuk diingati jika kembali telah dimasukkan. Untuk mengelakkan ralat, gunakan pulangan secara eksplisit untuk memastikan nilai pulangan yang betul.

Contoh

Pulangan Tersirat:

(name) => name + '!'; // Implicit return, returns 'Jess!'

Eksplisit Pulangan:

(name) => { return name + '!'; } // Explicit return, returns 'Jess!'

Ringkasnya, jika fungsi anak panah mengandungi blok, mempunyai sintaks samar-samar atau menjangkau berbilang baris, pernyataan pulangan eksplisit diperlukan untuk menentukan nilai pulangan fungsi. Jika tidak, ungkapan dalam badan fungsi anak panah dikembalikan secara tersirat.

Atas ialah kandungan terperinci Bilakah Fungsi Anak Panah ES6 Memerlukan Pernyataan `return` Eksplisit?. 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