عددها
نوع number را در نقشهٔ انواع دیدید. اینجا همان یک نوع را باز میکنیم: عدد را چطور بنویسید، حساب روزمره را چطور بزنید، نتیجهٔ عجیب مثل NaN و Infinity را چطور بشناسید، و اعشار مرتب را روی صفحه نشان دهید.
عددها در JavaScript چطور کار میکنند؟
در سطح مبتدی، عدد صحیح و اعشار هر دو یک نوعاند: number. بدون نقلقول بنویسید — 42 و 3.5 عددند؛ "42" رشته است. با +، -، *، / و % حساب میکنید. گاهی نتیجه خاص است: NaN یعنی «عددِ قابلاستفاده نیست»، و Infinity وقتی مقدار از حد متناهی رد میشود (مثلاً تقسیم بر صفر). برای نمایش مرتب، toFixed رشتهای میسازد با تعداد رقم اعشار دلخواه.
جعبهٔ ابزار عدد
📊 ابزارهای عددی که اول به کارتان میآید
| مفهوم | نمونه | نتیجه / نکته |
|---|---|---|
| لیترال صحیح | let n = 10; |
عدد درست؛ نوع number |
| لیترال اعشار | let p = 2.5; |
همان نوع number |
| حساب | 10 + 3، 10 % 3 |
جمع 13؛ باقیمانده 1 |
| NaN | 0 / 0 یا حساب بیمعنا |
«عدد نیست» — ولی typeof هنوز "number" |
| Infinity | 1 / 0 |
فراتر از حد متناهی |
toFixed |
(3.14159).toFixed(2) |
رشتهٔ نمایشی "3.14" |
عدد را بدون نقلقول بنویسید
صحیح و اعشار اینجا یک نوع دارند. لازم نیست «نوع صحیح جدا» بسازید.
let score = 42;
let price = 9.99;
console.log(score);
console.log(price);
console.log(typeof score);
console.log(typeof price);
حساب روزمره
با +، -، *، / و % (باقیمانده) کار کنید. ماژول عملگرها بعداً عمیقتر میشود؛ اینجا فقط ببینید عدد واقعاً حساب میشود.
let a = 10;
let b = 3;
console.log(a + b);
console.log(a - b);
console.log(a * b);
console.log(a / b);
console.log(a % b);
NaN — عددِ قابلاستفاده نیست
NaN یعنی نتیجه بهعنوان عدد به درد نمیخورد. نکتهٔ عجیب: typeof NaN باز هم "number" است. اگر حساب خراب بهنظر میرسد، مقدار را لاگ بگیرید و دنبال NaN بگردید.
let broken = 0 / 0;
console.log(broken);
console.log(typeof broken);
Infinity
تقسیم عدد مثبت بر صفر Infinity میدهد (و مقسومِ منفی -Infinity). این هم نتیجهای است که موتور میسازد — موقع دیباگ خوب است بشناسیدش.
let huge = 1 / 0;
console.log(huge);
console.log(typeof huge);
اعشار نمایشی با toFixed
toFixed(n) یک رشته برمیگرداند با n رقم بعد از ممیز — مناسب نمایش شبیه پول. یادتان باشد: خروجی متن است؛ حساب بعدی را روی عدد اصلی بزنید، نه روی رشتهٔ فرمتشده.
let total = 19.999;
console.log(total.toFixed(2));
console.log(typeof total.toFixed(2));
جمع را روی صفحه نشان دهید
جمع بزنید، اگر خواستید فرمت کنید، با textContent روی صفحه بگذارید.
<!DOCTYPE html>
<html>
<head>
<title>Numbers — total on page</title>
</head>
<body>
<p id="out">…</p>
<script>
let price = 12.5;
let tax = 1.25;
let total = price + tax;
document.getElementById("out").textContent = "Total: " + total.toFixed(2);
</script>
</body>
</html>
پاراگراف یک جمع شبیه مبلغ نشان میدهد. price یا tax را عوض کنید، رفرش کنید، و خط جدید را ببینید.
خودتان امتحان کنید
- دو
letعددی بسازید (یکی صحیح، یکی اعشار)؛ هر دو را باtypeofلاگ بگیرید. - برای دو عدد کوچک،
a + bوa * bوa % bرا لاگ بگیرید. 0 / 0را لاگ بگیرید وNaNرا ببینید.1 / 0را لاگ بگیرید وInfinityرا ببینید.- روی یک اعشار
toFixed(2)بزنید و ببینیدtypeofنتیجه"string"است. - در دموی HTML فقط
priceیاtaxرا عوض کنید، رفرش کنید، جمع تازه را بخوانید.
اشتباههای رایج
- نوشتن
let n = "10";و انتظار حساب عددی — نقلقول رشته میسازد - نادیده گرفتن
NaNوقتی نتیجه در کنسول «خالی» یا عجیب به نظر میرسد - تعجب از
Infinityبعد از تقسیم بر صفر - ادامهٔ حساب روی خروجی
toFixed(آن رشته است) - انتظار نوع صحیح جدا — در سطح مبتدی یک نوع number کافی است
خلاصه
- صحیح و اعشار یک نوع number دارند؛ بدون نقلقول بنویسید
- برای حساب روزمره از
+،-،*،/و%استفاده کنید - NaN و Infinity نتیجههای خاص عددیاند که باید بشناسید
toFixedاعشار را برای نمایش مرتب میکند و رشته برمیگرداند- بعدی: رشتهها — کار دقیقتر با متن
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود