Memulangkan Objek daripada Fungsi Anak Panah dalam ECMAScript 6
Dalam ECMAScript 6 (ES6), fungsi anak panah menyediakan sintaks ringkas untuk mentakrifkan fungsi. Walau bagaimanapun, apabila mengembalikan objek daripada fungsi anak panah, kekeliruan biasa timbul disebabkan oleh kekaburan tatabahasa.
Coretan kod berikut akan menghasilkan tingkah laku yang tidak dijangka:
p => {foo: "bar"}
Ungkapan ini akan kembali tidak ditentukan dan bukannya objek yang dijangkakan. Untuk menangani perkara ini, set tambahan pendakap kerinting dan kata kunci kembali diperlukan:
p => { return {foo: "bar"}; }
Pendekatan ini memastikan bahawa pendakap kerinting ditafsirkan sebagai objek literal, bukan sebagai badan fungsi.
Walau bagaimanapun, sintaks tambahan ini boleh menyusahkan. Nasib baik, penyelesaian yang lebih mudah wujud. Dengan membungkus objek literal dalam kurungan, kekaburan diselesaikan:
p => ({ foo: 'bar' })
Dengan pengubahsuaian ini, kurungan kerinting jelas menandakan objek literal dan kata kunci kembali tidak diperlukan. Teknik ini boleh digunakan pada mana-mana ungkapan lain yang dikembalikan oleh fungsi anak panah, menghapuskan keperluan untuk overhed sintaks tambahan:
p => 10 p => 'foo' p => true p => [1,2,3] p => null p => /^foo$/
Dengan memahami kekaburan tatabahasa dan menggunakan teknik pembalut kurungan, pembangun boleh mengembalikan objek dengan berkesan daripada fungsi anak panah dalam ECMAScript 6.
Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Objek dengan Betul dari Fungsi Anak Panah ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!