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
:)