Noktalı virgül kurallarını basitleştirmek için
Bir ile başlar her çizgi (
, [
`veya herhangi operatör (/, +, - tek geçerli olanlar), bir noktalı virgül ile başlamalıdır.
func()
;[0].concat(myarr).forEach(func)
;(myarr).forEach(func)
;`hello`.forEach(func)
;/hello/.exec(str)
;+0
;-0
Bu bir
func()[0].concat(myarr).forEach(func)(myarr).forEach(func)`hello`.forEach(func)/hello/.forEach(func)+0-0
Monstrocity.
Ek not
Ne olacağını belirtmek gerekirse: parantezler indekslenecek, parantezler fonksiyon parametreleri olarak değerlendirilecektir. Ters işaret etiketli bir şablona dönüşür ve normal ifade veya açıkça işaretlenmiş tamsayılar işleçlere dönüşür. Tabii ki, her satırın sonuna bir noktalı virgül ekleyebilirsiniz. Hızlı bir şekilde prototip oluştururken ve noktalı virgül bırakırken akılda kalmak iyidir.
Ayrıca, her satırın sonuna noktalı virgül eklemek aşağıdakiler konusunda size yardımcı olmaz, bu nedenle
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.
Yukarıdaki durum, return / continue / break / ++ / - olacaktır. Herhangi bir linter bunu ölü kod veya ++ / - sözdizimi hatasıyla yakalayacaktır (++ / - asla gerçekçi olmayacak).
Son olarak, dosya birleştirmenin çalışmasını istiyorsanız, her dosyanın noktalı virgülle bittiğinden emin olun. Bir paketleyici programı kullanıyorsanız (önerilen), bunu otomatik olarak yapmalıdır.