Titik koma setelah deklarasi fungsi yang tidak diperlukan .
Tata bahasa a FunctionDeclaration
dijelaskan dalam spesifikasi sebagai berikut:
function Identifier ( FormalParameterListopt ) { FunctionBody }
Tidak ada titik koma secara tata bahasa yang diperlukan, tetapi mungkin bertanya-tanya mengapa?
Titik koma berfungsi untuk memisahkan pernyataan satu sama lain, dan a FunctionDeclaration
bukan pernyataan .
FunctionDeclarations
dievaluasi sebelum kode dimasukkan ke dalam eksekusi, mengangkat adalah kata yang umum digunakan untuk menjelaskan perilaku ini.
Istilah "pernyataan fungsi" dan "pernyataan fungsi" sering salah digunakan secara bergantian, karena tidak ada pernyataan fungsi yang dijelaskan dalam Spesifikasi Naskah ECMAS, namun ada beberapa implementasi yang menyertakan pernyataan fungsi dalam tata bahasa mereka, - terutama Mozilla - tapi sekali lagi ini tidak standar.
Namun titik koma selalu disarankan di tempat Anda menggunakan FunctionExpressions
, misalnya:
var myFn = function () {
//...
};
(function () {
//...
})();
Jika Anda menghilangkan tanda koma setelah fungsi pertama dalam contoh di atas, Anda akan mendapatkan hasil yang benar-benar tidak diinginkan:
var myFn = function () {
alert("Surprise!");
} // <-- No semicolon!
(function () {
//...
})();
Fungsi pertama akan dieksekusi segera, karena tanda kurung di sekitar yang kedua, akan ditafsirkan sebagai Arguments
panggilan fungsi.
Rekomendasi kuliah:
Saya menggunakannya setelah deklarasi fungsi-sebagai-variabel:
tetapi tidak setelah definisi gaya klasik:
sumber
JS Lint adalah konvensi de-facto, dan ia mengatakan tidak ada titik koma setelah fungsi tubuh. Lihat bagian "Titik Koma" .
sumber
Tetap konsisten! Mereka tidak diperlukan, tetapi saya pribadi menggunakannya karena sebagian besar teknik minifikasi mengandalkan semi-colon (misalnya, Packer ).
sumber
Benar-benar hanya tergantung pada preferensi Anda. Saya suka mengakhiri baris kode dengan titik dua karena saya terbiasa dengan Java, C ++, C #, dll, jadi saya menggunakan standar yang sama untuk pengkodean dalam javascript.
Saya biasanya tidak mengakhiri deklarasi fungsi dalam tanda titik dua, tapi itu hanya preferensi saya.
Browser akan menjalankannya dengan cara apa pun, tetapi mungkin suatu hari nanti mereka akan datang dengan beberapa standar yang lebih ketat yang mengatur hal ini.
Contoh kode yang akan saya tulis:
sumber
Ini sebenarnya lebih dari masalah konvensi atau konsistensi.
Saya cukup yakin itu tidak menempatkan titik koma setelah setiap pernyataan memperlambat pengurai internal karena harus mencari tahu di mana akhir pernyataan itu. Saya berharap saya memiliki beberapa nomor berguna untuk Anda mengonfirmasi hal itu secara positif, tetapi mungkin Anda dapat mencari sendiri di Google. :)
Juga, ketika Anda mengompresi atau mengecilkan kode, kurangnya semi-titik dua dapat menyebabkan versi kecil dari skrip Anda yang tidak melakukan apa yang Anda inginkan karena semua ruang putih hilang.
sumber
Ketika saya mengecilkan skrip saya, saya menyadari bahwa saya perlu menggunakan titik koma untuk fungsi yang dimulai dengan tanda sama dengan. jika Anda mendefinisikan fungsi sebagai var, ya Anda harus menggunakan titik koma.
butuh titik koma
tidak perlu titik koma
sumber
SEDERHANA:
Ini adalah praktik yang baik untuk meninggalkan titik koma
;
setelah kurung fungsi berakhir. Mereka telah dianggap sebagai praktik terbaik selama bertahun-tahun.Satu keuntungan dari selalu menggunakannya adalah jika Anda ingin memperkecil JavaScript Anda.
Sebagai mengecilkan Javascript, membantu mengurangi ukuran file sedikit.
Tetapi untuk praktik terbaik dan jawaban di atas, tidak disarankan untuk menggunakannya setelah tag fungsi.
Jika Anda TIDAK menggunakan tanda titik koma, dan jika Anda ingin memperkecil (seperti banyak pengembang ingin lakukan jika situs mereka melayani banyak JavaScript) Anda bisa mendapatkan semua jenis Kesalahan / Peringatan.
sumber
titik koma setelah suatu fungsi tidak perlu digunakan atau tidak, tidak menyebabkan kesalahan dalam program Anda. namun, jika Anda berencana untuk mengecilkan kode Anda, maka menggunakan titik koma setelah fungsi adalah ide yang bagus. katakan misalnya Anda memiliki kode seperti di bawah ini
dan
ketika Anda mengecilkan keduanya, Anda akan mendapatkan yang berikut sebagai output
Perhatikan bahwa komentar hanya untuk ilustrasi
dan
sumber