در حال بارگذاری...

انواع داده

متغیر را مثل جعبه با نام دیدید. سؤال بعدی این است: داخل جعبه چه جور چیزی نشسته؟ همان «جور» را نوع داده می‌گوییم. اینجا نقشهٔ مبتدی را می‌چینیم و با typeof از خودِ JavaScript می‌پرسیم نوع چیست.

انواع داده چیست و نوع را چطور می‌فهمید؟

نوع داده یعنی جنس مقداری که نام نگه می‌دارد — متن، عدد، درست/غلط، «هنوز چیزی نیست»، و بقیه. در این کورس اول با string، number، boolean، undefined و null آشنا می‌شوید. آبجکت و آرایه فقط به‌صورت پیش‌نمایش می‌آیند؛ جزئیاتشان جلسهٔ جدا دارد. برای چک کردن، قبل از مقدار (یا نام متغیر) بنویسید typeof. جواب یک رشتهٔ کوتاه است مثل "string" یا "number".

نقشهٔ انواع برای تازه‌کار

📊 انواع مقداری که اول باید بشناسید

جنس نمونه مقدار معمولاً typeof نکته برای مبتدی
رشته (متن) "Hello" "string" متن داخل نقل‌قول — تکی یا دوتایی
عدد 42 یا 3.5 "number" صحیح و اعشار اینجا یک نوع‌اند
Boolean true / false "boolean" روشن/خاموش؛ بعداً برای شرط
Undefined نامی بدون مقدار "undefined" اعلان شده ولی هنوز مقدار نگرفته
Null null "object" (عجیب) خالیِ عمدی؛ برچسب typeof گیج‌کننده است — quirk را حفظ کنید
آبجکت / آرایه (پیش‌نمایش) { } / [1, 2] "object" چند مقدار با هم؛ جزئیات بعداً

مقدار رشته

متن داخل نقل‌قول است. typeof می‌گوید "string".

رشته و typeof

javascript
let label = "JavaScript";
console.log(label);
console.log(typeof label);

مقدار عددی

هم عدد صحیح هم اعشار در سطح مبتدی یک نوع دارند: number. لازم نیست اینجا «نوع صحیح جدا» بسازید.

عدد و typeof

javascript
let score = 42;
console.log(score);
console.log(typeof score);

مقدار boolean

true و false نوع خودشان را دارند — بعداً برای شرط به کارتان می‌آید. این‌ها کلیدواژه‌اند، نه رشتهٔ "true".

boolean و typeof

javascript
let ready = true;
console.log(ready);
console.log(typeof ready);

undefined — هنوز خالی

اگر با let فقط نام را بسازید و مقدار ندهید، مقدار undefined است و typeof هم "undefined" برمی‌گرداند.

مقدار undefined

javascript
let pending;
console.log(pending);
console.log(typeof pending);

null — خالیِ عمدی

null یعنی «عمداً خالی گذاشتم.» نکتهٔ عجیب برای مبتدی: typeof null برابر "object" است — quirk قدیمی زبان. null را خالی بدانید و این برچسب را حفظ کنید تا گیج نشوید.

null و quirk مربوط به typeof

javascript
let empty = null;
console.log(empty);
console.log(typeof empty);

چند نوع را پشت‌سرهم چک کنید

هم خودِ مقدار را لاگ بگیرید هم نتیجهٔ typeof را. ببینید "10" (با نقل‌قول) رشته است و 10 عدد.

چند بار typeof

javascript
console.log(typeof "10");
console.log(typeof 10);
console.log(typeof false);
console.log(typeof undefined);
console.log(typeof null);

برچسب نوع را روی صفحه نشان دهید

یک مقدار بسازید، typeof را بخوانید، با textContent همان برچسب را روی صفحه بگذارید.

صفحه typeof یک مقدار را نشان می‌دهد

html
<!DOCTYPE html>
<html>
<head>
<title>Data Types — typeof on page</title>
</head>
<body>
<p id="out">…</p>
<script>
let sample = "W3Learn";
let kind = typeof sample;
document.getElementById("out").textContent = "Type: " + kind;
</script>
</body>
</html>

پاراگراف می‌نویسد Type: string چون داخل sample متن است. مقدار را به عدد یا true عوض کنید، صفحه را تازه کنید؛ برچسب عوض می‌شود.

خودتان تمرین کنید

  1. یک let با نام شهر داخل نقل‌قول بسازید؛ مقدار و typeof را لاگ کنید.
  2. یک عدد بدون نقل‌قول بدهید؛ typeof باید "number" باشد.
  3. true یا false بدهید؛ تأیید کنید نوع "boolean" است.
  4. let x; بدون مقدار؛ typeof x را ببینید.
  5. null بدهید؛ typeof را ببینید و quirkِ "object" را یادداشت کنید.
  6. در نمونهٔ HTML فقط sample را عوض کنید، تازه کنید و برچسب صفحه را چک کنید.

اشتباه‌های رایج

  • نوشتن let n = "42"; و انتظار جمع عددی — نقل‌قول آن را رشته می‌کند
  • وحشت از typeof null === "object" — quirk است؛ هنوز وارد آبجکت عمیق نشده‌اید
  • فکر کردن که واژه‌های string یا number را باید مثل متغیر اعلان کنید
  • وقتی دو مقدار در کنسول شبیه هم به نظر می‌رسند ولی رفتارشان فرق دارد، typeof را فراموش کردن
  • قبل از جلسات بعدی غرق آرایه و آبجکت شدن — همین نقشه فعلاً کافی است

خلاصه

  • نوع داده یعنی جنس مقداری که متغیر نگه می‌دارد
  • نقشهٔ مبتدی: string، number، boolean، undefined، null (به‌علاوهٔ پیش‌نمایش کوتاه آبجکت/آرایه)
  • typeof برچسب نوع را به‌صورت رشته برمی‌گرداند
  • typeof null برابر "object" است — quirk را به‌خاطر بسپارید
  • مرحلهٔ بعد اعداد است: کار دقیق‌تر با مقدارهای عددی

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
8
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود