Misalnya, dalam video Redux ini , instruktur selalu menggunakan sintaks seperti
const counter = (state=0, action) => {
... function body here
}
di mana saya hanya akan menggunakan "tradisional"
function counter(state=0, action) {
... function body here
}
Yang sebenarnya lebih pendek dan, IMO, lebih jelas. Lebih mudah untuk memindai tepi kiri halaman yang cukup rata dan terstruktur untuk kata "fungsi" daripada memindai tepi kanan yang acak untuk "">> kecil.
Selain dari this
, dan mencoba untuk bersikap objektif, bukan opini, adakah perbedaan atau keuntungan yang berguna untuk sintaksis yang baru?
javascript
functions
es6
pengguna949300
sumber
sumber
const
membantu memastikan bahwa fungsi tersebut tidak didefinisikan ulang nanti.Jawaban:
Pernyataan fungsi (fungsi yang disebutkan, sintaks ke-2 yang ditampilkan) diangkat ke bagian atas lingkup leksikal penuh, bahkan yang berada di belakang blok kontrol dan arbitrer, seperti
if
pernyataan. Menggunakanconst
(sepertilet
) untuk mendeklarasikan variabel memberikannya ruang lingkup blok, menghentikan pengangkatan penuh (mengangkat ke blok belaka), dan memastikan tidak dapat dideklarasikan ulang.Saat menggabungkan skrip bersama, atau menggunakan alat pembuat paket lainnya, fungsi mengangkat dapat memecah skrip yang saling bertentangan dengan cara yang sulit untuk di-debug karena gagal diam-diam. Deklarasi ulang
const
akan mengeluarkan pengecualian sebelum program dapat berjalan, jadi lebih mudah untuk melakukan debug.sumber
const
. Ini agak picik, IMO, untuk mulai menggunakan diconst
mana-mana karena alasan ini di zaman eslint, webpack, babel, dan sebagainya. Tidak ada yang menyatukan file bersama secara manual lagi untuk setidaknya satu dekade sekarang.Inilah mengapa Anda harus menggunakan
function
:Pensinyalannya jelas dan singkat. Ini jauh lebih bermanfaat daripada kekhawatiran mengangkat kasus tepi yang tercantum dalam jawaban lainnya.
Anda benar-benar ingin mengangkat dalam modul karena seperti yang Anda lihat dari kode di bawah ini,
const
pernyataantryDoTheThing
gagal diam-diam dan tidak akan tertangkap sampai Anda mencoba menyebutnya.Sebagian besar junior yang saya hubungi mulai menggunakan
const
untuk mendeklarasikan setiap fungsi karena ini adalah mode saat ini, seperti menggunakan spasi di atas tab atau membuat semuanyafunctional!!!
karena "OOP buruk". Jangan lakukan itu. Anda tidak ingin menjadi pria yang mengikuti mode tanpa sepenuhnya memahami implikasinya.vs.
sumber