تعد JavaScript لغة ديناميكية، مما يعني أنه يمكنك استخدام متغير واحد لتخزين أنواع مختلفة من البيانات. ولكن على الرغم من ذلك، فإن JavaScript تمتلك أنواع بيانات محددة تُستخدم لإدارة القيم في الذاكرة.
1. الأنواع الأساسية (Primitive Types)
هذه الأنواع تُخزّن القيم مباشرة في الذاكرة:
1.1 الرقم (Number)
يستخدم لتمثيل الأرقام العشرية والصحيحة:
let age = 25; // رقم صحيح
let price = 99.99; // رقم عشري
كما يدعم القيم الخاصة مثل:
-Infinity
Infinity
NaN
(Not a Number)
console.log(10 / 0); // Infinity
console.log("hello" * 5); // NaN
1.2 النصوص (String)
تمثل سلسلة من الأحرف، ويمكن كتابتها باستخدام ''
, " "
, أو ` `
(backticks).
let name1 = "Mohamed";
let name2 = 'Amin';
let greeting = `Hello, ${name1}`; // يمكن إدراج متغيرات داخل النص
1.3 القيم المنطقية (Boolean)
تمثل true
أو false
وتُستخدم غالبًا في التحكم في التدفق (الشروط).
let isStudent = true;
let isAdult = false;
1.4 القيم الفارغة (Null & Undefined)
null
تعني أن المتغير فارغ عمدًا ولا يشير إلى أي قيمة.undefined
تعني أن المتغير لم يُمنح أي قيمة.
let emptyValue = null;
let notDefined;
console.log(notDefined); // undefined
1.5 الرمز (Symbol)
يُستخدم لإنشاء قيم فريدة لا تتكرر.
let sym1 = Symbol("id");
let sym2 = Symbol("id");
console.log(sym1 === sym2); // false (كل Symbol فريد)
1.6 النوع الكبير (BigInt)
يُستخدم للأرقام الكبيرة جدًا التي لا يمكن تمثيلها باستخدام Number
.
let bigNumber = 123456789012345678901234567890n;
2. الأنواع المرجعية (Reference Types)
يتم تخزين هذه الأنواع كمرجع في الذاكرة وليس كقيمة مباشرة.
2.1 الكائنات (Objects)
تستخدم لتخزين بيانات معقدة على شكل مفاتيح وقيم.
let person = {
name: "Ali",
age: 30
};
console.log(person.name); // Ali
2.2 المصفوفات (Arrays)
نوع خاص من الكائنات لتخزين عدة قيم بترتيب معين.
function sayHello() {
return "Hello!";
}
console.log(sayHello()); // Hello!
2.3 الدوال (Functions)
الدوال هي كائنات قابلة للتنفيذ تُستخدم لتنفيذ مهام معينة.
function sayHello() {
return "Hello!";
}
console.log(sayHello()); // Hello!
3. التحقق من نوع البيانات
يمكنك استخدام typeof
لمعرفة نوع أي متغير:
console.log(typeof 42); // "number"
console.log(typeof "Hello"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof null); // "object" (خطأ في JavaScript)
console.log(typeof undefined); // "undefined"
console.log(typeof {}); // "object"
console.log(typeof []); // "object" (المصفوفة نوع خاص من الكائن)
console.log(typeof function(){}); // "function"
Responses (0 )