JavaScript's Mysterious Return Statement Conundrum
Pertimbangkan coretan kod JavaScript berikut:
function correct() { return 15; } function wrong() { return 15; } console.log("correct() called : " + correct()); console.log("wrong() called : " + wrong());
Anehnya, betul() mengembalikan nilai jangkaan 15, manakala wrong() mengembalikan undefined. Tingkah laku ini berbeza daripada kebanyakan bahasa pengaturcaraan yang lain, membuatkan kami tertanya-tanya mengapa ia berlaku.
Penjelasan Teknikal: Koma Bertitik Tidak Nampak
Koma bertitik JavaScript adalah pilihan dan jurubahasa memasukkannya secara automatik pada aksara baris baharu tertentu. Walau bagaimanapun, andaian jurubahasa mungkin tidak sentiasa sejajar dengan niat kita.
Dalam kes salah(), pernyataan pulangan diikuti dengan baris baharu. Ini mencetuskan sisipan koma bertitik, menghasilkan kod berikut:
function wrong() { return; 15; }
Memecahkan Isu: Sintaks Pulangan
Pernyataan pulangan mesti diikuti dengan segera dengan nilai pulangan. Dalam wrong(), koma bertitik selepas pulangan menamatkan pernyataan, meninggalkan baris berikut terputus sambungan.
Penyelesaian: Melampirkan Ungkapan dalam Tanda Kurung
Untuk mengelakkan kekeliruan ini, kami boleh melampirkan ungkapan pulangan dalam kurungan:
function wrong() { return ( 15 ); }
Kurungan menghalang jurubahasa daripada memasukkan koma bertitik dan memastikan ungkapan itu dinilai dengan betul.
Memahami Penaakulan TypeScript
TypeScript, superset taip JavaScript, mengeluarkan ralat pengkompil dalam kod di atas, menyerlahkan kepentingan sintaks penyata pulangan yang betul. Ini menekankan kepentingan pertimbangan sedemikian semasa mentakrifkan fungsi dalam JavaScript.
Atas ialah kandungan terperinci Mengapa Penyataan `return` JavaScript Kadangkala Mengembalikan `tidak ditentukan`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!