Sudah tiga tahun sejak pertanyaan ini diajukan, tetapi saya baru saja menjumpainya. Karena jawaban ini sangat jauh dari tumpukan, perkenankan saya mengulanginya:
T: Saya tertarik jika ada batasan untuk jenis nilai apa yang dapat diatur menggunakan const dalam JavaScript — dalam fungsi tertentu. Apakah ini valid? Memang itu berhasil, tetapi apakah itu dianggap praktik buruk karena alasan apa pun?
Saya termotivasi untuk melakukan penelitian setelah mengamati seorang pembuat kode JavaScript yang produktif yang selalu menggunakan const
pernyataan functions
, bahkan ketika tidak ada alasan / manfaat yang jelas.
Dalam jawaban untuk " apakah ini dianggap praktik buruk karena alasan apa pun? " Saya katakan, IMO, ya itu, atau setidaknya, ada keuntungan menggunakan function
pernyataan.
Menurut saya ini sebagian besar adalah masalah preferensi dan gaya. Ada beberapa argumen bagus yang disajikan di atas, tetapi tidak ada yang begitu jelas seperti yang dilakukan dalam artikel ini:
Konstan kebingungan: mengapa saya masih menggunakan pernyataan fungsi JavaScript oleh medium.freecodecamp.org/Bill Sourour, guru JavaScript, guru, konsultan, dan guru.
Saya mendorong semua orang untuk membaca artikel itu, bahkan jika Anda sudah membuat keputusan.
Inilah poin-poin utamanya:
Pernyataan fungsi memiliki dua keunggulan yang jelas dibandingkan dengan ekspresi fungsi [const]:
Keuntungan # 1: Kejelasan niat
Saat memindai melalui ribuan baris kode sehari, akan sangat berguna untuk mengetahui maksud programmer secepat dan semudah mungkin.
Keuntungan # 2: Urutan deklarasi == urutan eksekusi
Idealnya, saya ingin mendeklarasikan kode saya kurang lebih dalam urutan yang saya harapkan akan dieksekusi.
Ini adalah showstopper untuk saya: nilai apa pun yang dideklarasikan menggunakan kata kunci const tidak dapat diakses sampai eksekusi mencapainya.
Apa yang baru saja saya jelaskan di atas memaksa kita untuk menulis kode yang terlihat terbalik. Kita harus mulai dengan fungsi level terendah dan terus maju.
Otak saya tidak bekerja seperti itu. Saya ingin konteks sebelum detailnya.
Sebagian besar kode ditulis oleh manusia. Jadi masuk akal bahwa urutan pemahaman kebanyakan orang secara kasar mengikuti urutan eksekusi sebagian besar kode.
var doSomething = <function def>;
. 4) "Haruskah semua fungsi didefinisikan dengan cara ini di ES6?" Tampaknya merepotkan saya. Saya suka deklarasi fungsi. Semuanya milik mereka sendiri.