Saya telah melihat sintaks ini di beberapa perpustakaan sekarang dan saya bertanya-tanya apa manfaatnya. (perhatikan saya sangat mengetahui penutupan dan apa yang dilakukan kode, saya hanya peduli tentang perbedaan sintaksis)
!function(){
// do stuff
}();
Sebagai alternatif yang lebih umum
(function(){
// do stuff
})();
untuk memanggil sendiri fungsi anonim.
Saya ingin tahu beberapa hal. Pertama, apa yang membuat contoh teratas benar-benar berfungsi? Mengapa bang diperlukan untuk membuat pernyataan ini benar secara sintaksis? Saya juga diberitahu bahwa itu +
berhasil, dan saya yakin beberapa orang lain, sebagai pengganti!
Kedua, apa manfaatnya? Yang bisa saya katakan adalah bahwa itu menghemat satu karakter, tetapi saya tidak bisa membayangkan itu manfaat yang sangat besar untuk menarik banyak pengguna. Apakah ada manfaat lain yang saya lewatkan?
Satu-satunya perbedaan lain yang dapat saya lihat adalah nilai balik dari fungsi pemanggilan sendiri, tetapi dalam kedua contoh ini, kami tidak terlalu peduli dengan nilai pengembalian fungsi karena hanya digunakan untuk membuat penutupan. Jadi, bisakah seseorang memberi tahu saya mengapa orang mungkin menggunakan sintaks pertama?
!
karena menekankan sedang dieksekusi.