Merhaba arkadaşlar serinin bu bölümünde JavaScript'de boolean veri türünü ve veri tipini inceleyeceğiz.
Yazıda:
-
Boolean veri türüne ve veri tipine
-
Sonucu
false
olan ifadelere -
Object tipindeki boolean türlerine
Değineceğim.
İyi okumalar dilerim.
Genelde mantıksal expression'larda kullanılır.
Bu sayede expression sonucuna göre programın akışını yönlendirilebilir.
Boolean ifadeler expression'un sonucuna göre değer döndürür. Expression sonucu doğruysa döndürülecek değer true
yanlışsa false
olacaktır.
Örnek
%%javascript
let x = false;
let y = true;
console.log(`x'in değeri ${x}'dır.`);
console.log(`y'nin değeri ${y}'dur.`);
x'in değeri false'dır.
y'nin değeri true'dur.
💡 Bazen bir statement'in boolean sonucunu merak edebiliriz. Bunun için Boolean()
metodundan faydalanabiliriz.
Bu özellikle debug işlemlerinde veya sonucunu tahmin edemediğimiz kompleks condition'lar yazarken faydalı olur.
Örnek
%%javascript
// Konsola true ifade yazdırılır.
console.log(Boolean(8 > 4));
// Sadeleştirebiliriz yine konsola true ifadesi yazdırılacaktır.
console.log(8 > 4);
true
true
Aşağıdaki ifadelerin hepsi boolean veri tipi göz önüne alınarak düşünüldüğünde false
değerini üretir:
-
Değişkenin depoladığı değer
0
rakamı olduğunda. -
Değişkenin depoladığı değer
-0
rakamı olduğunda. Çünkü-0
'ın karşılığı yoktur. -
Değişkenin depoladığı değer empty string olduğunda. Yani
""
arasında bir değere yer verilmediğinde. -
Değişkene değer atanmadığında varsayılan olarak depolayacağı değer
undefined
olacaktır. Bu durumdaki değişkenin boolean değerifalse
olur. -
Değişkenin değeri
null
olduğunda. -
Değişkene
false
değeri depolandığında. -
Aritmetiksel bir işlemin sonucu
NaN
olduğunda.
Örnekler
%%javascript
let x = 0;
console.log(`x değerinin depoladığı değer: ${Boolean(x)}'dır.`);
let x2 = -0;
console.log(`x2 değerinin depoladığı değer: ${Boolean(x2)}'dır.`);
let x3 = "";
console.log(`x3 değerinin depoladığı değer: ${Boolean(x3)}'dır.`);
let x4;
console.log(`x4 değerinin depoladığı değer: ${Boolean(x4)}'dır.`);
let x5 = null;
console.log(`x5 değerinin depoladığı değer: ${Boolean(x5)}'dır.`);
let x6 = false;
console.log(`x6 değerinin depoladığı değer: ${Boolean(x6)}'dır.`);
let x7 = 10 / "Kalem";
console.log(`x7 değerinin depoladığı değer: ${Boolean(x7)}'dır.`);
x değerinin depoladığı değer: false'dır.
x2 değerinin depoladığı değer: false'dır.
x3 değerinin depoladığı değer: false'dır.
x4 değerinin depoladığı değer: false'dır.
x5 değerinin depoladığı değer: false'dır.
x6 değerinin depoladığı değer: false'dır.
x7 değerinin depoladığı değer: false'dır.
Boolean veri türü özellikli değişkenlerin veri tipleri de boolean olacaktır.
Örnek
%%javascript
let booleanData = false;
console.log(`booleanData değişkenin veri tipi ${typeof booleanData}'dir.`);
booleanData değişkenin veri tipi boolean'dir.
JavaScript'de boolean özellikli değişkenler normalde immutable, ilkel ve string veri tipine sahip veri türleridir.
Ancak new Boolean()
metodu kullanılarak object veri tipinde boolean veri türleri oluşturulabilir.
Örnek
%%javascript
// booleanData değişkeni nesne özellikli olup veri tipi object'dir.
let booleanData = new Boolean("true");
console.log(`booleanData değişkenin depoladığı değer: ${booleanData}'dur.`);
console.log(`booleanData değişkeninin veri tipi: ${typeof booleanData}'dir.`);
let booleanData2 = false;
console.log(`booleanData2 değişkenin depoladığı değer: ${booleanData2}'dur.`);
console.log(`booleanData2 değişkeninin veri tipi: ${typeof booleanData2}'dir.`);
booleanData değişkenin depoladığı değer: true'dur.
booleanData değişkeninin veri tipi: object'dir.
booleanData2 değişkenin depoladığı değer: false'dur.
booleanData2 değişkeninin veri tipi: boolean'dir.
❗ Object tipinde boolean veri tiplerinin kullanılması tavsiye edilmez. Özellikle mantıksal operatörlerin kullanıldığı expression'larda beklenmedik sonuçlar ile karşılaşabiliriz.
Ek olarak kodları komplike hale getireceği için kod bloklarının yavaş çalışmasına neden olacaktır.
Object veri tipindeki iki değişkenin kıyaslanması durumunda sonuç daima false
olarak geri döner.
Örnek
%%javascript
let x = false;
let y = new Boolean(false);
// x ve y değişkeni aynı veriyi depolamaları sebebi ile geri dönen değer true olacaktır.
console.log(x == y);
/**
* x ve y değişkeni aynı veriyi depolamalarına rağmen farklı veri tipine sahip
* olduklarından geri dönen değer false olacaktır.
*/
console.log(x === y);
let m = new Boolean(false);
let n = new Boolean(false);
/**
* m ve n her ikisi de aynı türde değeri ve aynı veri tipini tutmasına rağmen konsola false
* değeri yazdırılacaktır. Çünkü object tipindeki değişkenler unique olma özelliği taşır.
*/
console.log(m === n);
true
false
false
Top comments (0)