Düşünebilmemin üç ana nedeni:
- Ana Kapsam Erişimi
- Gizlilik
- Yüksek kapsamlarda tanımlanan adların azaltılması
Üst Kapsam Kapsamı Erişimi: Satır içi işlev tanımları satır içi kodunun üst kapsamlarda tanımlanan değişkenlere erişmesine izin verir. Bu, birçok şey için çok faydalı olabilir ve uygun şekilde yapıldığında kodun miktarını veya karmaşıklığını azaltabilir.
Kodu, bu kapsamın dışında tanımlanan bir işleve koyar ve sonra bu kodu çağırırsanız, işleve erişmek istediği herhangi bir üst durumu iletmeniz gerekir.
Gizlilik: Satır içi anonim bir tanım içindeki kod daha özeldir ve başka bir kodla aranamaz.
Yüksek kapsamlarda tanımlanmış adların azaltılması: Bu, genel kapsamda çalışırken en önemlidir, ancak satır içi adsız bir bildirim, geçerli kapsamda yeni bir sembol tanımlamak zorunda kalmaz. Javascript doğal olarak isim alanlarının kullanılmasını gerektirmediğinden, asgari olarak gerekenden daha fazla genel sembol tanımlamaktan kaçınmak akıllıca olacaktır.
Editör: Javascript'te, isimsiz olarak satır içi bir şey bildirmenin, bir işlevi tanımlamaktan ve ana kapsam erişimi kullanılmadığında bile onu çağırmaktan bir şekilde "daha iyi" olarak kabul edildiği kültürel bir şey haline gelmiş gibi görünmektedir. Bunun başlangıçta Javascript'teki küresel isim alanı kirliliği probleminden ve belki de gizlilik problemlerinden dolayı olduğunu düşünüyorum. Fakat şimdi kültürel bir şeye dönüşmüştür ve kamuoyunda birçok kodda (bahsettiğiniz gibi) ifade edildiğini görebilirsiniz.
C ++ gibi dillerde çoğu muhtemelen birçok sayfa / ekrana yayılan dev bir işleve sahip olmanın ideal olmayan bir uygulama olduğunu düşünür. Tabii ki, C ++ yerleşik isim alanına sahiptir, ebeveyn kapsamı erişimi sağlamaz ve gizlilik özelliklerine sahiptir, bu nedenle tamamen okunabilirlik / bakım kolaylığı ile motive edilebilir, Javascript kod ifadesini gizlilik ve ebeveyn kapsamı erişimi sağlamak için kullanmak zorundadır. Dolayısıyla, JS farklı bir yönde motive olmuş gibi görünmektedir ve bu yönü motive eden şeyler belirli bir durumda gerekmediğinde bile, dilde kültürel bir şey haline gelmiştir.