Noktalı virgül Python ve JavaScript arasındaki fark nedir?
Python ve JavaScript geliştiriciler kullanmak veya noktalı virgül atlamak için izin verir. Ancak, çoğu zaman, her zaman onları kullanmam gerekirken Python noktalı virgül kullanmak gerektiğini önerdi (kitap ve bloglar) JavaScript gördüm.
Diller noktalı virgül kullanmak arasında teknik bir fark var ya da bu sadece kültürel bir fark var mı?
CEVAP
Bu uzun zamandır aklımı karıştırmıştı. Kültürel bir farklılık vardı sadece, ve herkes noktalı virgül ekleme dilinde en kötü özelliği hakkında şikayet olduğunu düşündümsalak. NullUserException's answer sık tekrarlanan örneği, girinti, Python göz ardı ederek bu durumda JavaScript olarak aynı şekilde davranır, çünkü bana tesir etmedi.
Sonra bir gün, bir şey belli belirsiz böyle yazdım:
alert(2)
(x = $("#foo")).detach()
Bu şekilde yorumlanmış olması bekleniyor:
alert(2);
(x = $("#foo")).detach();
Aslında böyle açıklamıştı:
alert(2)(x = $("#foo")).detach();
Ben şimdi noktalı virgül kullanın.
JavaScript sadece1bu durumda: noktalı virgül gibi bir tedavi şekli
- Değil bir sözdizimi hatası.
- Yeni satır
throw
return
anahtar kelime ve ifade arasında. - Yeni satır
continue
break
anahtar kelime ve tanımlayıcı arasında. - Yeni satır bir değişken ve
--
sonek operatörü arasında.
Bu davranış tam da beklediğiniz olmadığı bu gibi durumlarda bırakır. Bazı insanlar2sadece gerekli olan yere noktalı virgül kullanan kuralları kabul etmiştir. Anlamsız değil artık biliyorum ki her zaman bunları kullanarak standart kurallarına uyar, tercih ederim.
1Birkaç küçük ayrıntı, tam açıklama ECMA-262 5e Section 7.9 bakın ihmal ettim.
2Twitter Bootstrap yüksek profilli bir örnektir.
@Staticmethod ve @Python classmethod a...
Eski stil ve yeni stil Python sınıflar...
JavaScript arasındaki fark boş ve tanı...
Python 2'de range ve xrange fonksiyonl...
yerleşik fonksiyon aç python: mod, bir...