درس 2 از 24

نوع داده در JavaScript چیست؟ معرفی انواع داده در جاوااسکریپت به زبان ساده

بخش: مقدمه جاوا اسکریپت

در جاوا اسکریپت، نوع داده مشخص می‌کند که چه نوع مقداری را ذخیره می‌کنید؛ مثل یک عدد یا یک قطعه متن.

متغیر یک محفظه نام‌دار است که مقداری از یک نوع داده مشخص را ذخیره می‌کند و به شما اجازه می‌دهد در سراسر کد خود به آن ارجاع دهید و آن را تغییر دهید.

شاید به خاطر داشته باشید که در کلاس ریاضی با متغیرها به این شکل کار می‌کردید:

x = 2
y = 4

x + y

شما می‌توانستید متغیرهایی مثل x و y ایجاد کنید و بعد در سراسر برنامه به آن‌ها ارجاع دهید و عملیات ریاضی مثل جمع را انجام دهید. در برنامه‌نویسی هم مفهوم مشابهی وجود دارد. شما می‌توانید نام متغیرهای خودتان را بسازید و مقادیری به آن‌ها اختصاص دهید. این مقادیر، نوع‌های داده مختلفی خواهند داشت.

نوع‌های داده به برنامه کمک می‌کنند بفهمد با چه نوع داده‌ای سروکار دارد؛ چه یک عدد باشد، چه متن، یا چیز دیگری.

جاوا اسکریپت چندین نوع داده پایه دارد که در برنامه‌های خود از آن‌ها استفاده خواهید کرد. در درس‌های آینده هر نوع داده را با جزئیات بیشتری بررسی خواهیم کرد. فعلاً در اینجا یک معرفی کوتاه از نوع‌های مختلف داده در جاوا اسکریپت آورده شده است.

اولین نوع داده‌ای که بررسی می‌کنیم Number است.

یک Number هم عددهای صحیح و هم عددهای اعشاری را نشان می‌دهد. نمونه‌هایی از عددهای صحیح شامل 7، 19 و 90 هستند.

نکته: console.log() یک تابع است که اطلاعات را در console نمایش می‌دهد. console بخشی از مرورگر وب شماست که برای اشکال‌زدایی کد استفاده می‌شود. در درس‌های آینده بیشتر با console.log() آشنا خواهید شد. همچنین نمادهای // برای اضافه کردن کامنت در کد استفاده می‌شوند. کامنت‌ها یادداشت‌هایی برای خودتان یا دیگر برنامه‌نویس‌ها هستند که هنگام اجرای کد نادیده گرفته می‌شوند.

ویرایشگر تعاملی را فعال کنید و سعی کنید بعضی از اعداد صحیح را تغییر دهید تا به‌روزرسانی آن را در console ببینید.

// Examples of integers
console.log(3);
console.log(5);
console.log(-67);

عدد اعشاری عددی است که دارای نقطه اعشار باشد. نمونه‌هایی از اعداد اعشاری شامل 3.14 و 5.2 هستند.

// Examples of floating point numbers
console.log(3.14);
console.log(7.2);
console.log(-14.5);

نوع داده بعدی String است.

یک String دنباله‌ای از کاراکترها، یا متن، است که داخل کوتیشن قرار می‌گیرد. در اینجا یک نمونه رشته با استفاده از کوتیشن دوتایی آمده است:

console.log("I love to code!");

و این هم نمونه‌ای با استفاده از کوتیشن تکی:

console.log('I love to code!');

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

نوع داده دیگری که در جاوا اسکریپت استفاده می‌شود Boolean است.

یک Boolean یکی از دو مقدار true یا false را نشان می‌دهد. برای مثال، یک برنامه ممکن است بررسی کند که آیا کاربر وارد حساب خود شده است (true) یا نه (false) و بر اساس آن صفحه را تغییر دهد. اگر کاربر وارد شده باشد، احتمالاً می‌خواهید صفحه داشبورد را به او نشان دهید. در غیر این صورت، باید صفحه ورود را نمایش دهید.

دو نوع داده بعدی که در جاوا اسکریپت استفاده می‌شوند undefined و null هستند.

undefined یعنی یک متغیر تعریف شده است اما هنوز مقداری به آن داده نشده است. در درس بعدی بیشتر درباره این موضوع یاد خواهید گرفت.

null یعنی متغیر به‌صورت عمدی روی «هیچ‌چیز» تنظیم شده است و هیچ مقداری را نگه نمی‌دارد. در درس‌های آینده بیشتر بررسی خواهیم کرد که این موضوع چگونه کار می‌کند.

سه نوع داده آخر از نظر ماهیت پیچیده‌تر هستند. این‌ها عبارت‌اند از object، symbol و BigInt.

یک Object مجموعه‌ای از جفت‌های کلید-مقدار است.

{
  name: "Alice",
  age: 30
};

اشیاء برای گروه‌بندی اطلاعات مرتبط با هم بسیار مناسب هستند. در یک ماژول آینده بیشتر درباره کار با اشیاء خواهید آموخت.

یک Symbol نوع خاصی از مقدار در جاوا اسکریپت است که همیشه یکتا است و قابل تغییر نیست. معمولاً برای ساخت برچسب‌ها یا شناسه‌های یکتا برای ویژگی‌ها استفاده می‌شود:

Symbol('mySymbol');

از BigInt برای عددهای بسیار بزرگی استفاده می‌شود که از محدوده نوع Number فراتر می‌روند:

1234567890123456789012345678901234567890n;

در این مثال، ما با اضافه کردن n به انتهای یک عدد بسیار بزرگ، یک BigInt می‌سازیم.

Symbol و BigInt دو نوع داده‌ای هستند که کمتر استفاده می‌شوند، اما همچنان مهم هستند و باید آن‌ها را بشناسید.

درک این نوع‌های داده به شما کمک می‌کند انواع مختلف داده را در برنامه‌های خود مدیریت و استفاده کنید، چون هر نوع ویژگی‌ها و رفتارهای خاص خودش را دارد.


سوالات

کدام‌یک از موارد زیر یک نوع داده رشته‌ای (string) است؟

  • "Hello!"
  • 42
  • false
  • null

کدام نوع داده مقداری را نشان می‌دهد که یا درست است یا نادرست؟

  • Number
  • String
  • Boolean
  • Undefined

اگر یک متغیر تعریف شده باشد اما مقداری به آن اختصاص داده نشده باشد، نوع داده آن چیست؟

  • String
  • Number
  • Undefined
  • Null