by Eren
7. April 2009 13:52
Javascriptte enum tanımlama ihtiyacım oldu.Projemdeki allocation kayıtlarımın dahili mi harici mi olduğunu bir çok javascript kütüphanemde if bloklarıyla kontrol etmem gerekti.Bunun için ortak kullanılan bir common.js javascript dosyama enumlarımı tanımlamaya karar verdim Bu sayede
if(allocationType=='0') gibi saçma bir karşılaştırma yapmaktan kurtuldum. çünkü boyle bir durumda allocationType değişirse 0 değilde 1 olursa mesela projemin tümünde ben bunları değiştirmek zorunda kalıcam. Ama common bir sınıfa enum tanımlayıp bunu kullanırsam. ve if(allocationType == AllocationTypeInternal) şeklinde bir karşılaştırma yaparsam değşikliği sadece enuma uygulamam yani enumun Internal değerini 1 e eşitlemem yeterli. Bu durumda tüm proejmdeki ifleri değiştirmekten kurtuluyorum.
Bu arada bilmeyenler ve yeni başlayanlar içinde enumların anlam ve önemini vurgulamış oldum. Birde bu enumun javascriptte nasıl kullanılacağını göstereyimde tam olsun bari ;
Enum Tanım için birinci alternatifim ;
var AllocationType =
{
"Internal": 1,
"External": 2
};
Kullanılışı :
AllocationType.Internal
Bir diğer yöntemde şu ;
function Enum {}
Enum.AllocationType = {Internal : 0,External : 1}
Kullanılışı :
alert(Enum.AllocationType.Internal);
Son yöntemimizde şu :
var enumObj = new Object();
enumObj.AllocationType = {Internal:0, External:1}
Kullanılışı :
document.write(enumObj.fontSize.small);
Yüzünüzden tebessüm, kodunuzdan enum eksik olmaya..
Hoşçakalınız.