Birçok dilde, sözdizimi function_name(arg1, arg2, ...)bir işlevi çağırmak için kullanılır. Fonksiyonu herhangi bir argüman olmadan çağırmak istediğimizde yapmalıyız function_name().
Bir derleyici veya komut dosyası yorumlayıcısının ()onu işlev çağrısı olarak başarılı bir şekilde algılaması gerekebileceğini garip buluyorum . Bir değişkenin çağrılabilir olduğu biliniyorsa, neden function_name;yeterli olmaz?
Öte yandan, bazı dillerde yapabiliriz: function_name 'test';hatta function_name 'first' 'second';bir işlevi veya komutu çağırmak için.
Bence sadece öncelik sırasını açıklamak için gerekli olsaydı, diğer yerlerde isteğe bağlıysa parantez daha iyi olurdu. Örneğin, yapmak if expression == true function_name;kadar geçerli olmalıdır if (expression == true) function_name();.
Bence en sinir bozucu şey 'SOME_STRING'.toLowerCase()prototip işlevinde açıkça hiçbir argümana ihtiyaç duyulmadığında yapmaktır . Tasarımcılar neden daha basitine karşı karar verdi 'SOME_STRING'.lower?
Yasal Uyarı: Beni yanlış anlamayın, C benzeri sözdizimini seviyorum! ;) Sadece daha iyi olup olmadığını soruyorum. İsteğin ()herhangi bir performans avantajı var mı , yoksa kodu anlamayı kolaylaştırıyor mu? Sebebinin tam olarak ne olduğunu gerçekten merak ediyorum.
(), ancak yazınızda öne çıkan şey if (expression == true)ifadedir. Gereksizler için endişeleniyorsun (), sonra da gereksiz bir şey kullanıyorsun == true:)