Untuk membuat aturan titik koma menjadi sederhana
Setiap baris yang dimulai dengan (
, [
, `, atau operator manapun (/, +, - adalah satu-satunya yang sah), harus dimulai dengan titik koma.
func()
;[0].concat(myarr).forEach(func)
;(myarr).forEach(func)
;`hello`.forEach(func)
;/hello/.exec(str)
;+0
;-0
Ini mencegah a
func()[0].concat(myarr).forEach(func)(myarr).forEach(func)`hello`.forEach(func)/hello/.forEach(func)+0-0
keburukan.
Catatan Tambahan
Untuk menyebutkan apa yang akan terjadi: tanda kurung akan diindeks, tanda kurung akan diperlakukan sebagai parameter fungsi. Backtick akan berubah menjadi template yang diberi tag , dan regex atau integer yang ditandatangani secara eksplisit akan berubah menjadi operator. Tentu saja, Anda bisa menambahkan titik koma di akhir setiap baris. Ada baiknya untuk diingat ketika Anda dengan cepat membuat prototipe dan menghapus titik koma Anda.
Selain itu, menambahkan titik koma di akhir setiap baris tidak akan membantu Anda dalam hal berikut, jadi ingatlah pernyataan seperti
return // Will automatically insert semicolon, and return undefined.
(1+2);
i // Adds a semicolon
++ // But, if you really intended i++ here, your codebase needs help.
Kasus di atas akan terjadi kembali / lanjutkan / putus / ++ / -. Setiap linter akan menangkap ini dengan kode mati atau kesalahan sintaks ++ / - (++ / - tidak akan pernah terjadi secara realistis).
Terakhir, jika Anda ingin penggabungan file berfungsi, pastikan setiap file diakhiri dengan titik koma. Jika Anda menggunakan program bundler (disarankan), program ini akan melakukannya secara otomatis.