Katmanya · Bestiyer
Evet-Hayır Arısı
boolean
Top gibi yuvarlak, iki küçük kanatlı bir arı. İki türü var: sarı-yeşil çizgili Evet Arısı ve sarı-kırmızı çizgili Hayır Arısı. Başka arı türü yoktur.
İki anlatım
Başlangıç
Bilgisayar bir yol ayrımına geldiğinde bir arıya sorar: “Bu yoldan gidelim mi?” Arı ya “evet” der ya “hayır”. Üçüncü bir cevabı yoktur, “belki” demez.
Kapıda bazen arıya benzeyen başka böcekler de bekler. Kapıcı onlara bakar ve kendi listesine göre evet ya da hayır yerine sayar, ama onlar arı değildir.
İleri
Evet-Hayır Arısı bir boolean’dır: yalnızca iki değeri olan tür, true (doğru) ve false (yanlış).
Ne yapar
- if, while ve ? : gibi yol ayrımlarında hangi yola gidileceğini söyler.
- Karşılaştırmaların sonucudur: 3 > 2 bir Evet Arısı doğurur.
- ! ile ters döner: Evet Arısı Hayır Arısı olur.
Ne yapamaz
- true ve false dışında bir değer taşıyamaz. “Bilinmiyor” demek gerekiyorsa başka bir yaratık lazım, çoğu zaman null.
- Neden evet dediğini hatırlamaz. Yalnızca cevabı taşır.
Kod karşılığı
typeof true; // → "boolean"
Boolean(0); // → false (0 arı değil, kapıda "hayır" sayılır)
Boolean("0"); // → true (içinde sıfır yazan metin "evet" sayılır)
Boolean([]); // → true (boş dizi de "evet")
[] == false; // → true (gevşek eşitlik başka bir yoldan dönüştürür)
İleri kurallar
- Eşek arıları (truthy ve falsy). if kapısına arı olmayan bir değer gelirse JavaScript onu boolean’a çevirir. Kapıda “hayır” sayılan değerlerin listesi kısadır: false, 0, -0, 0n, "", null, undefined, NaN (bir de tarayıcıdaki eski document.all). Geri kalan her şey “evet” sayılır: "0", "false", [] ve {} dahil.
- typeof 0 yine "number" verir. Kapıda hayır sayılması onu boolean yapmaz.
- == (gevşek eşitlik) ile if aynı kuralı kullanmaz: [] kapıda evet sayılır ama [] == false de true döner. === tür dönüştürmez; karşılaştırmada onu kullan.
Nerede kırılır
- Kılık değiştirme. Eşek arılarını “arı kılığında hayır diyen” böcekler gibi anlatmak, değerin kendisi konuşuyormuş gibi gösterir. Gerçekte değer bir şey demez; dönüştürmeyi kapı (if, !, Boolean()) yapar. Bu yüzden eşek arıları kılık giymez ve konuşmaz. Kapıcı onlara bakar, elindeki kısa hayır listesine göre yerlerine bir arı çağırır.
- Eşek arıları kötü değil. Kapıdaki herkes evet ya da hayır sayılır; çoğu evet tarafına düşer. Tuzağın kaynağı onların niyeti değil, listenin kısa ve şaşırtıcı olmasıdır: "0" evet sayılır.
- İki arı, sonsuz sayıda arı değil. Hikâyede bir sürü arı uçuşabilir ama hepsi bu iki değerden birinin kopyasıdır. Türün yalnızca iki değeri vardır.
İlk göründüğü masal
Arı henüz bir masalda görünmedi.
Nerede yaşar
Motor Dairesi’nin kapı ve kavşaklarında: if, while ve ? : orada çalışır.
Daha derinde, Demirhane’de evet ya da hayır tek bir bitle tutulabilir; arıların atası oradadır. JavaScript’teki arının bellekte kaç bit tuttuğu motora bağlıdır.
Akrabaları
- Çevirgen Solucan: Arılar hangi solucanın çalışacağını seçer.
- İki Hayalet: İkisi de kapıda hayır sayılır, ama arı değildir.
- Boncuk Örümceği: Boş ip ("") hayır, içinde tek boncuk olan ip evet sayılır.