Rumah >hujung hadapan web >tutorial js >Mengapa Beberapa Fungsi Anak Panah Mengembalikan `tidak ditentukan` dalam 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
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 ^^^^^^
Atau gunakan badan ringkas:
const f = arg => arg.toUpperCase();
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"));
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!