Math nesnesi
Etiket tam sayı ister, «yaklaşık» diye bir ölçü basmaz. Çerçeve atölyesinde fotoğraf 7.6 cm, paspartu artığı 7.2 cm, fotoğraf çizginin soluna 3.8 cm kaymış, üç çıta da 12, 9 ve 15 cm. Bu ölçüler yerinden oynamaz. Değişen, dilin baştan beri tuttuğu Math nesnesinden istediğin tam sayıdır.
Nesneyi sen kurmazsın
Aritmetikte işaret iki değerin arasında durur ve hesap biter. Tarih sayfasında new Date ile bir an kurar, sonra o andan bir parça okurdun. Burada kurma yok. new Math() düşer. Math’i işlev gibi çağırmak da düşer. Nesnenin adını söylersin, işin adını söylersin, elindeki sayıyı verirsin.
Kâğıt bu tezgâhın
Yöntem ezberi için bir liste değil. Her satır atölyenin bir kararı: etiket, kesim, alış, sola kayma, en uzun çıta, en kısa çıta. Çağrı bir tam sayı bırakır, metreyi değişkenin içinde değiştirmez. 8’i orada tutmak istiyorsan kendin yazarsın.
📊 Bu tezgâhın kararları
| İş | Karar | Bu tezgahta | Elin kaydığı yer |
|---|---|---|---|
Math.round |
7.6 için en yakın tam santimetre |
8 |
eksilerde yarım |
Math.floor |
7.2’den gerçekten kesilen |
7 |
aynı işi eksi kaymada kullanmak |
Math.ceil |
7.2 kapansın diye alınan |
8 |
zaten tam olan sayıyı bir daha itmek |
Math.trunc |
-3.8’in kesirini sıfıra doğru atmak |
-3 |
aşağı adımla aynı sonucu beklemek |
Math.max |
12, 9 ve 15 içinde en uzun | 15 |
bir dizi vermek |
Math.min |
aynı çıtaların en kısası | 9 |
aynı dizi yanlışı |
Sıfırın sağında yarım artık yukarı yürür: 0.5 bir olur. Sıfırın solunda aynı yarım daha da aşağı inmez. Artı sonsuza doğru gider, bu yüzden -1.5 -1’de durur, -2’de değil. Okulda «beş yukarı» neredeyse yalnız artılarda gösterilir. Aşağı tam sayıya adım başka bir iştir. Onu kaymada kullanacaksın, etikette değil.
Genişliğin etiketi
Fiş kesir basmaz, atölye en yakın tam santimetreyi ister. Çağrı bu 8’i değişkene yazmaz. Sonra yine lazım olursa kendin saklarsın.
let width = 7.6;
console.log(Math.round(width));
Etikette 8 durur. width hâlâ 7.6’dır, çünkü 8 değişkene geri yazılmadı. Genişlik 7.5 olsaydı etiket yine 8 olurdu. Aynı yarım kuralını -1.5’e götür. Orada -2 çıkmaz. Adım artı yöne gider ve tam sayı -1’dir.
let scrap = 7.2;
console.log(Math.floor(scrap));
console.log(Math.ceil(scrap));
Makas 7’de durur. İki onda bir, kesilecek bir santimetre daha etmez. Artık boşluksuz kapanacaksa 7 yetmez, 8 alırsın. Artık baştan tam 7 olsaydı iki çağrı da 7’de kalırdı. Kesim ile alış ancak kesir varken ayrılır.
let nudge = -3.8;
console.log(Math.trunc(nudge));
console.log(Math.floor(nudge));
Eksi işaret iki sonuçta da durur. Bundan işaretsiz bir uzaklık çıkmaz. Kesiri atıp sıfıra yürümek -3.8’i -3 yapar. Aşağı adım sıfıra yaklaşamaz. -3.8’i aşmayan tam sayı -4’tür. İkisini karıştırırsan çerçeve bir santimetre kayar.
console.log(Math.max(12, 9, 15));
console.log(Math.min(12, 9, 15));
Üç çıta, üç ayrı argüman. En uzunu 15, en kısası 9. Üçünü bir diziye koyup tek paket verirsen yöntem paketi açmaz. Elinde NaN kalır. Karşılaştırma olmamıştır.
let drawer = Math.floor(Math.random() * 6) + 1;
console.log(drawer >= 1 && drawer <= 6);
console.log(Math.random() < 1);
Ham çekiliş 1’e hiç değmez. 0’dan başlar ve hep 1’in altında kalır. Altı ile çarpınca aralık 0’dan 6’nın altına gider. Aşağı tam sayı yalnızca 0 ile 5 bırakır. Ardından gelen +1 çekmeceyi 1 ile 6 arasına koyar, bu yüzden ilk satır her çalıştırmada doğrudur. İkinci satır yeni bir çekiliştir, çekmece numarası değil, o da 1’in altında kalır. 1’i o adımdan önce eklersen ya da eki unutursan çekmece 0’a ya da 7’ye düşer.
Fişteki daire
Ağız dairedir, yarıçap 5. Alan, π çarpı yarıçap çarpı yarıçaptır. Fiş uzun ondalığı göstermez. Önce tam sayıya yaklaştırır, paragraf da o tam sayıyı yazar.
<!DOCTYPE html>
<html>
<head>
<title>math — page</title>
</head>
<body>
<p id="ticket">…</p>
<script>
let radius = 5;
let area = Math.PI * radius * radius;
let shown = Math.round(area);
let box = document.getElementById("ticket");
box.textContent = shown;
</script>
</body>
</html>
Paragrafı okuyan 79 görür. π kere 25 yaklaşık 78.54 eder, yaklaştırma bunu 79’a çıkarır. 5 yarıçaptır, 25 yarıçapın karesidir. İkisi de paragrafın metni değildir.
Kutuyu kapatmadan
Önce sıfırın solu, çünkü çerçeve orada hata vermeden kayar. Sıfıra doğru -3.8 -3’te durur. Aşağı adımda -4’te durur ve -1.5 -2 olmaz. Tezgâhın geri kalanı tek bakışta durur: etiket 8, değişken hâlâ 7.6, artık 7’ye kesilip 8 ile kapanır, çıtalar 15 ve 9, paragraf 79, çekmece ancak +1 en sonda eklenirse 1 ile 6 arasında kalır.
Kod çalışır, çerçeve yanlış kalır
Math’inewile kurmak ya daMath’i işlev gibi çağırmak-1.5’i -2 okumak, çünkü okuldan «beş aşağı» alışkanlığı gelmiştir-3.8üzerinde sıfıra giden yolu aşağı adımla değiştirmek- 12, 9 ve 15’i bir diziye koyup o diziyi tek başına vermek
- Çekilişin bir kez tam 1 olmasını beklemek
- Baştan tam olan sayıyı, işin adı kapatmak diye bir artırmak
Bu tezgahtan yönü götür, ikinci bir ad listesi değil. Sıfırın solunda kesiri atmak ile aşağı inmek aynı yere varmaz. Sıradaki sayfa HTML DOM.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek