Herhangi bir nesnenin türünü belirleme
Yazılım ile ilgilenen herkesin bileceği üzere JavaScriptte de 6 farklı değişken türü bulunmaktadır. Bunlar : Boolean, Number, String, Null, Undefined, Symbol.
Ancak bir nesne veri türünün bir çok alt türe bölünebileceğini biliyor muydunuz?
Bir nesne Function, Arrray, Map vb. olabilir. Peki tüm bunları göz önünde bulunduğumuzda bir nesne türünü elde etmek istiyorsak ne yapmalıyız?
Bu konuya girmeden başka bir soru ile konuyu pekiştirelim.
Aşağıdaki iki kod arasındaki fark nedir?
Her iki ifade de bir parametreyi dizeye dönüştürmeye çalışır, ancak aralarında bir fark vardır.
String(arg) komutu arg.toString() ve rg.valueOf() öğlerini çağırmaya çalışır . Bu nedenle bu iki methodu yeniden yazılırsa farklı sonuçlar ortaya çıkmaktadır.
Sonuçlar ;
Yukarıdaki durumda, String (arg) ve Object.prototype.toString.call (arg) aynı etkiye sahipken aşağıdaki durumda farklı sonuçlara sahiptirler.
Ayrıca Object.prototype.toString() öğesinin döndürme değeri her zaman ‘[object ’ + ‘tag’ +‘] ’ biçimindedir. Fakat yanlızca orta etiketi istiyorsak karekterleri normal ifade veya String.prototype.slice(). ile silebiliriz.
Sonuca gelecek olursak aşağıdaki fonksiyon ile bir JavaScript değişkeni türünü alabiliriz.
Önbellek fonksiyon hesaplama sonuçları
Elimizde böyle bir fonksiyon var diyelim;
function computed(str) { // Suppose the calculation in the funtion is very time consuming console.log('2000s have passed') return 'a result' }Bu fonksiyon sonucunu ön belleğe almak istiyoruz diyelim. Bunu daha sonradan çağırdığımızda eğer parametreler aynı ise sonucu ön bellekten döndürmek istiyoruz diyelim peki ne yapmalıyız?
Öncelikle yapmamız gereken fonksiyonumuzu ön belleğe alacak bir fonksiyon yapmak olacaktır. Bu önbellek fonksiyonu, hedef fonksiyonu bağımsız değişken olarak alır ve yeni bir sarılmış fonksiyon olarak döndürür. Önbelleğe alınan fonksiyonun içinde, önceki fonksiyon çağrısının sonucunu bir Object veya Map ile önbelleğe alabiliriz.
Örnek bir ön bellek alma fonksiyonu ise ;
Stil Değiştirme
Diyelim ki büyük bir projede yer alıyorsunuz. Bu tür projelerde ortak bir yazım dili yapılması gereklidir. Bu tür projelerde her geliştirinin yazımını belirli bir standarta dönüştürmek JavaScript ile mümkün. Mesela bir geliştiricinin yazdığı merhaba-dunya çıktısını merhabaDunya olarak değiştirmek istiyorsak ;
Bu tür temel değişken çıktı türleri arasında geçişler yapmak için pratik ipuçları vermeye gaayret gösterdik.
Esen kalın...