Rumah > hujung hadapan web > tutorial js > Mengapa Beberapa Fungsi Anak Panah Mengembalikan `tidak ditentukan` dalam JavaScript?

Mengapa Beberapa Fungsi Anak Panah Mengembalikan `tidak ditentukan` dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-12-18 05:25:09
asal
308 orang telah melayarinya

Why Do Some Arrow Functions Return `undefined` in JavaScript?

Mengapa Fungsi Anak Panah Boleh Kembali Tidak Ditakrifkan: Pulangan Eksplisit vs. Teka-teki Pulangan Tersirat

Fungsi anak panah menawarkan sintaks ringkas untuk mentakrifkan fungsi dalam JavaScript . Walau bagaimanapun, apabila berurusan dengan badan fungsi yang dibalut dalam kurungan ({}), pemula sering menghadapi isu pelik: mengapa fungsi anak panah ini kembali tidak ditentukan?

Pertimbangkan contoh mudah berikut:

const f = arg => { arg.toUpperCase(); };
console.log(f("testing")); // undefined
Salin selepas log masuk

Fungsi anak panah ini bertujuan untuk menukar hujah kepada huruf besar, tetapi ia mengembalikan tidak ditentukan. Sebabnya terletak pada pendakap kerinting pilihan di sekeliling badan fungsi anak panah.

Tidak seperti fungsi anak panah dengan badan ringkas (tanpa pendakap kerinting), di mana ekspresi badan dikembalikan secara tersirat, fungsi anak panah dengan sintaks badan fungsi memerlukan pernyataan pulangan yang jelas. Dalam contoh asal, ketiadaan pulangan eksplisit menyebabkan tidak ditentukan dikembalikan dan bukannya hujah huruf besar.

Untuk membetulkannya, anda boleh sama ada menggunakan pulangan eksplisit:

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

Atau gunakan badan ringkas:

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

Contoh dengan pulangan yang jelas dan ringkas body:

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

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

Dengan mematuhi peraturan ini, anda boleh memastikan bahawa fungsi anak panah anda sentiasa mengembalikan nilai yang dimaksudkan, sama ada melalui pulangan tersurat atau tersirat.

Atas ialah kandungan terperinci Mengapa Beberapa Fungsi Anak Panah Mengembalikan `tidak ditentukan` dalam JavaScript?. 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