انواع دادهها (Data Types) در جاوااسکریپت
در جاوااسکریپت، انواع دادهها (Data Types) به دو دستهی اصلی تقسیم میشوند: پایهای (Primitive) و غیربنیادی (Non-primitive). این تقسیمبندی به نوع دادهها و رفتار آنها اشاره دارد.
1. دادههای پایهای (Primitive Types)
این نوع دادهها به صورت مستقیم مقدار خود را ذخیره میکنند و تغییر دادن آنها مستلزم ساختن یک کپی جدید از داده است. این نوع دادهها عبارتند از:
Number: برای ذخیره اعداد (هم اعداد صحیح و هم اعشاری).
let age = 25; // عدد صحیح
let price = 12.99; // عدد اعشاری
String: برای ذخیره رشتهها (متنها).
let name = "Ali";
let greeting = 'سلام!';
Boolean: نوع دادهای که فقط دو مقدار true
یا false
را میگیرد.
let isActive = true;
let isCompleted = false;
Undefined: زمانی که به یک متغیر مقداردهی اولیه نمیشود، مقدار آن undefined
خواهد بود.
let x;
console.log(x); // undefined
Null: مقدار خاصی است که نشاندهنده “عدم وجود مقدار” یا “هیچ” است.
let person = null;
Symbol (ES6): نوع دادهای جدید که برای ایجاد شناسههای منحصر به فرد (unique identifiers) استفاده میشود.
const uniqueID = Symbol('id');
BigInt (ES11): برای کار با اعداد بزرگتر از حد معمول در Number
استفاده میشود. میتواند اعدادی با دقت بسیار بالا را ذخیره کند.
const largeNumber = 1234567890123456789012345678901234567890n;
2. دادههای غیربنیادی (Non-primitive Types)
این دادهها به جای ذخیره مقدار، مرجع (Reference) به محل ذخیرهسازی دادهها را نگه میدارند. انواع دادههای غیربنیادی عبارتند از:
Object: برای ذخیره مجموعهای از ویژگیها و مقادیر (Key-Value pairs) استفاده میشود. میتوانند شامل انواع مختلفی از دادهها باشند.
let person = {
name: "Ali",
age: 30,
isStudent: false
};
Array: نوع خاصی از شیء است که برای ذخیره مجموعهای از مقادیر به صورت ترتیبی (Index-based) استفاده میشود.
let numbers = [1, 2, 3, 4, 5];
let names = ["Ali", "Sara", "Reza"];
Function: توابع نیز نوع دادهای هستند که میتوانند به عنوان متغیر نگهداری شوند.
function greet() {
console.log("سلام!");
}
3. بررسی نوع دادهها
برای بررسی نوع داده میتوان از عملگر typeof
استفاده کرد. مثلا:
console.log(typeof 10); // "number"
console.log(typeof "Hello"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (یک رفتار شناخته شده در جاوااسکریپت)
console.log(typeof {}); // "object"
console.log(typeof []); // "object"
console.log(typeof function(){}); // "function"
نتیجهگیری:
جاوااسکریپت انواع دادههای مختلفی دارد که هرکدام کاربرد خاص خود را دارند. دادههای پایهای معمولاً ساده و سریع هستند، در حالی که دادههای غیربنیادی پیچیدهتر و قابل انعطافتر برای ذخیره و مدیریت دادهها هستند.