JavaScript’te static kavramının anlamı, static değişkenlerin özellikleri, statik metod oluşturma ve dinamik metodlar arasındaki farklar hakkında bilgi edinin. JavaScript içinde static anahtar kelimesi kullanıldığında, bu değişkenin ve metotun sınıfa atanacağını belirtir. Yani static olarak tanımlanan bir değişken veya metod sınıfa bağlı olmayacak ve herhangi bir örneğe atılmadan direkt olarak sınıf üzerinden erişilebilecektir.
JavaScript static ne anlama gelir?
İçerikler
Static değişkenler, sınıfın tüm örnekleri tarafından ortak bir değer paylaşır. Yani bir örnekten yapılan değişiklikler, diğer örnekleri de etkileyebilir. Bu nedenle static değişkenler, genellikle sabit bir değer tutmak için kullanılır.Static metotlar da benzer şekilde sınıfın kendi içinde tanımlı olan ve sadece sınıf üzerinden erişilebilen metotlardır. Örnek oluşturulmadan direk olarak sınıf adı üzerinden çağrılabilirler.Bu sayede static değişkenler ve metodlar, sınıfın genel yapısını değiştirmek veya sınıfın davranışlarını etkilemek için kullanılır.
Static Değişkenlerin Özellikleri |
---|
|
|
|
Static değişkenlerin özellikleri nelerdir?
JavaScript’de static değişkenler, herhangi bir nesne örneğine bağlı olmayan ve sadece sınıfın kendisine ait olan değişkenlerdir. Bu özellikleri sayesinde, herhangi bir nesne örneği oluşturulmasa bile erişilebilirler.Static değişkenler, genellikle bir sınıfın her örneği tarafından paylaşılan sabit bilgileri saklamak için kullanılır. Örneğin, bir araba sınıfında tüm arabaların rengi için kullanılacak bir static değişken tanımlanabilir.Bir sınıfta tanımlanan static değişkenlere sınıf adı üzerinden ve . operatörü kullanılarak erişilebilir.Ayrıca, static değişkenler, sınıfın farklı bölgeleri tarafından değiştirilemez. Yani başka bir method içerisinde bu değişkenin değerini değiştiremezsiniz.Bu özellikleri nedeniyle, static değişkenlerin genellikle sabit verilerin saklanması için kullanıldığını söyleyebiliriz.
Nasıl statik metodlar oluşturulur?
JavaScript diliyle çalışırken, statik metodlar oluşturmanın birkaç farklı yolu vardır. Bir obje üzerinde statik bir metodu tanımlamak için, metodun başına static anahtar kelimesi eklenmelidir. Statik bir metodunun oluşturulması, o metodun obje oluşturulmasından bağımsız olarak çalışmasını sağlar. Ayrıca, obje örneğine ihtiyaç duymadan da statik metodlara erişilebilir.Bir başka yöntem ise, class yapısı kullanılarak statik metodlar oluşturmaktır. Bu yöntemde, metod doğrudan class’ın kendisine bağlıdır ve obje örneği oluşturulmasına gerek kalmadan kullanılabilir. Bunun için metodun tanımının başına static anahtar kelimesi eklenmelidir.Bunların yanı sıra, ES6 ile gelen class yapısı kullanılarak da statik metodlar oluşturulabilir. Bu yöntemde de metoda static anahtar kelimesi eklenerek statik bir metod oluşturulabilir.Genel olarak, statik metodlar obje örnekleri oluşturulmadan kullanılabilen ve classlar üzerinden erişilebilen fonksiyonlardır. Bu sayede, objeler arasında paylaşılan bilgileri tutmak, veri işlemleri yapmak veya objelerin etkileşimlerini kontrol etmek için kullanılabilirler.
Statik ve dinamik metodlar arasındaki farklar nelerdir?
Statik ve dinamik metodlar arasındaki temel fark, nasıl çalıştıkları ve nasıl çağrıldıklarıdır. Statik metodlar sınıfın örnekleri olmadan çağrılabilir, yani sınıfın bir örneği oluşturulması gerekmez. Bu yüzden statik metotlar sınıf düzeyinde çalışır. Aksine, dinamik metodlar sınıf örnekleri üzerinde çalışır ve kullanılmadan önce sınıfın bir örneğinin oluşturulması gerekir.Bir başka farklılık da statik metodların this deyimini kullanmamasıdır, çünkü this sınıf örneğini temsil ederken, dinamik metodlar this deyimini kullanabilir. Ayrıca, statik metotlar new anahtar kelimesi ile çağrılamaz, çünkü bu metotlar sınıfı temsil ederken, dinamik metodlar sınıf örnekleri üzerinde çalışır.Statik metotların bir diğer özelliği, inheritance (kalıtım) sırasında kök sınıfa daha az bağımlı olmalarıdır. Yani, kök sınıf değiştiğinde statik metodların etkilenme oranı daha azdır. Dinamik metodlar ise sınıf hiyerarşisine daha fazla bağımlıdır ve kök sınıfın değişmesi durumunda daha fazla etkilenir.Son olarak, statik metotlar sınıf içinde kullanılmak üzere tasarlanırken, dinamik metodlar sınıfın durumuna ve o anki verilere göre şekillenir. Bu yüzden hangi metot türünün kullanılacağı, kullanılacak senaryoya ve gereksinimlere bağlı olarak değişebilir.