Objek Argumen dalam Fungsi Anak Panah ES6: Dokumentasi Rasmi
Fungsi anak panah telah pantas menarik perhatian pembangun dengan sintaksnya yang ringkas. Walau bagaimanapun, satu aspek yang menimbulkan persoalan ialah ketersediaan objek argumen di dalamnya.
Menurut dokumentasi rasmi daripada TC39, badan pentadbir untuk penyeragaman JavaScript, fungsi anak panah tidak mencipta hujah mereka sendiri objek. Tidak seperti fungsi biasa, fungsi anak panah mewarisi objek argumen daripada skop induknya.
Tingkah laku ini jelas dalam contoh berikut di mana fungsi anak panah digunakan dengan tiga argumen:
<code class="js">(() => console.log(arguments))(1, 2, 3);</code>
Dalam persekitaran seperti Chrome, Firefox dan Node.js, kod ini akan log "1,2,3". Walau bagaimanapun, Babel dan pengikat lain menimbulkan ralat yang menunjukkan bahawa argumen tidak ditakrifkan.
Percanggahan ini timbul kerana sesetengah persekitaran membenarkan fungsi anak panah untuk mengakses objek argumen skop induk mereka, manakala yang lain melaksanakan tafsiran ketat ES6 spesifikasi, yang melarang fungsi anak panah daripada mempunyai objek hujahnya sendiri.
Ringkasnya, dokumentasi rasmi daripada TC39 (spesifikasi ES6) dengan jelas menyatakan bahawa fungsi anak panah tidak mempunyai objek hujahnya sendiri. Tingkah laku yang diperhatikan dalam persekitaran tertentu di mana fungsi anak panah boleh mengakses hujah skop induk adalah tidak standard dan boleh mengakibatkan hasil yang tidak dijangka.
Atas ialah kandungan terperinci Bilakah Objek Argumen Tersedia dalam Fungsi Anak Panah ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!