Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

جافاسكربتأنواع البيانات

  • مفهوم أنواع البيانات
  • القيم العددية ( Numbers )
  • القيم النصية ( Strings )
  • القيم المنطقية ( Booleans )
  • القيم الكائنية ( Objects )
  • المصفوفات ( Arrays )
  • الدوال ( Functions )
  • الفرق بين null و undefined
  • طريقة معرفة نوع البيانات

مفهوم أنواع البيانات

أي شيء تتعامل معه في جافاسكربت له نوع محدد و كل نوع منها له طريقة خاصة للتعامل معه فيها.

أنواع بيانات في جافاسكربت تنقسم إلى 3 فئات رئيسية هي:

  • بيانات بدائية ( Primitive Datatypes ) مثل النصوص ( Strings الأعداد ( Numbers ) و القيم المنطقية ( Booleans ).
  • بيانات مرجعية ( Reference Datatypes ) مثل الكائنات ( Objects الدوال ( Functions ) و المصفوفات ( Arrays ).
  • بيانات خاصة ( Special Datatypes ) و هي القيمة undefined و القيمة null.

في هذا الدرس ستتعرف على أنواع البيانات بشكل عام و في دروس لاحقة ستتعمق أكثر في كل نوع منها.

القيم العددية ( Numbers )

القيم العددية هي الأعداد بكافة أشكالها و التي يمكن إجراء عمليات حسابية عليها.

  • الأعداد قد تكون صحيحة ( Integer Numbers ) مثل العدد 4.
  • الأعداد قد تكون عشرية ( Decimal Numbers ) مثل العدد 2.5.
  • الأعداد قد تكون أُسيّة ( Exponential Nation ) مثل العدد 55e6.

ستتعرف على جميع الدوال الجاهزة في جافاسكربت و المخصصة للتعامل مع الأعداد في درس لاحق.


في المثال التالي قمنا بتعريف متغيرات وضعنا فيها قيم عددية صحيحة ( Integer Numbers ).

المثال الأول

// هنا قمنا بتعريف متغيرات وضعنا فيها أعداد صحيحة
let x = 3;
let y = 5;

// هنا قمنا بطباعة قيم المتغيرات التي قمنا بتعريفها
document.write('x = ' + x + '<br>');
document.write('y = ' + y);

النتيجة

x = 3
y = 5
جرب الكود

في المثال التالي قمنا بتعريف متغيرات وضعنا فيها قيم عددية عشرية ( Decimal Numbers ).

المثال الثاني

// هنا قمنا بتعريف متغيرات وضعنا فيها أعداد عشرية
let x = 10.5;
let y = 2.44;

// هنا قمنا بطباعة قيم المتغيرات التي قمنا بتعريفها
document.write('x = ' + x + '<br>');
document.write('y = ' + y);

النتيجة

x = 10.5
y = 2.44
جرب الكود

في المثال التالي قمنا بتعريف متغيرات وضعنا فيها قيم عددية أسيّة ( Exponent Numbers ).

المثال الثالث

// هنا قمنا بتعريف متغيرات وضعنا فيها أعداد أسيّة
let x = 1234e5;   // 1234e5 = 1234 * 100000 = 123400000
let y = 1234e-5;  // 1234e-5 = 1234 * -100000 = 0.01234

// هنا قمنا بطباعة قيم المتغيرات التي قمنا بتعريفها
document.write('x = ' + x + '<br>');
document.write('y = ' + y);

النتيجة

x = 123400000
y = 0.1234
جرب الكود

في المثال التالي قمنا بإجراء عملية حسابية على الأعداد و هنا لاحظ أنه رغم أن العددين صحيحين إلا أن الإجابة تم تحويلها بشكل تلقائي إلى عدد عشري حتى تكون القيمة أدق.

المثال الرابع

// y على x وضعنا فيه ناتج قسمة z المتغير
let x = 5;
let y = 2;
let z = x / y;

// z هنا قمنا بطباعة قيم المتغير
document.write('z = ' + z);

النتيجة

z = 2.5
جرب الكود

القيم النصية ( Strings )

القيم النصية هي الأحرف، الكلمات، الجمل و النصوص التي يمكن البحث فيها، تقطيعها، دمجها إلخ..
القيمة النصية يمكن وضعها بين " " أو ' '.

ستتعرف على جميع الدوال الجاهزة في جافاسكربت و المخصصة للتعامل مع النصوص في درس لاحق.


في المثال التالي قمنا بتعريف متغيرات وضعنا فيها نصوص.

المثال الأول

// هنا قمنا بتعريف متغيرات وضعنا فيها نصوص
let web1 = 'Harmash.com';
let web2 = 'FreeSkillAcademy.com';

// هنا قمنا بطباعة قيم المتغيرات التي قمنا بتعريفها
document.write('web1 = ' + web1 + '<br>');
document.write('web2 = ' + web2);

النتيجة

web1 = Harmash.com
web2 = FreeSkillAcademy.com
جرب الكود

في المثال التالي قمنا بدمج النصوص و تخزينها في متغير جديد.

المثال الثاني

let firstName = 'Mhamad';
let lastName = 'Harmush';

// firstName وضعنا فيه قيمة المتغير fullName المتغير
// lastName يليه مسافة فارغة، يليه قيمة المتغير 
let fullName = firstName + ' ' + lastName;

// fullName هنا قمنا بطباعة قيم المتغير
document.write('fullName = ' + fullName);

النتيجة

fullName = Mhamad Harmush
جرب الكود

القيم المنطقية ( Booleans )

القيم المنطقية تستخدم حين يكون هناك إحتمالين فقط فتكون القيمة إما true و إما false.

في المثال التالي قمنا بتعريف متغيرات وضعنا فيها منقطية ( Booleans ).

مثال

// هنا قمنا بتعريف متغيرات وضعنا فيها نصوص
let isWorking = true;
let isMarried = false;

// هنا قمنا بطباعة قيم المتغيرات التي قمنا بتعريفها
document.write('isWorking = ' + isWorking + '<br>');
document.write('isMarried = ' + isMarried);

النتيجة

isWorking = true
isMarried = false
جرب الكود

القيم الكائنية ( Objects )

الكائن عبارة عن نوع يمكنه إمتلاك عدة خصائص و يتم تعريفه بواسطة الرمزين { }.

في المثال التالي قمنا بتعريف كائن فيه ثلاث خصائص مع إعطاء كل خاصية منهم قيمة.
بعدها قمنا بطباعة قيم جميع الخصائص التي يملكها الكائن.

مثال

// داخله ثلاث خصائص person هنا قمنا بتعريف كائن إسمه
let person = {
    id: 1024,
    username: 'mhamad',
    isWorking: true
};

// person هنا قمنا بطباعة قيم جميع الخصائص التي يملكها الكائن
document.write('id = ' + person.id + '<br>');
document.write('username = ' + person.username + '<br>');
document.write('isWorking = ' + person.isWorking);

النتيجة

id = 1024
username = mhamad
isWorking = true
جرب الكود

ستتعرف أكثر على طرق التعامل مع الكائنات في جافاسكربت في درس لاحق.

المصفوفات ( Arrays )

المصفوفة عبارة عن نوع يمكنه تخزين العديد من القيم في وقت واحد و يتم تعريفه بواسطة الرمزين [].
قيم المصفوفة يمكن أن تكون أعداد، نصوص، كائنات إلخ..

في المثال التالي قمنا بتعريف مصفوفة وضعنا 3 قيم نصية، و من ثم قمنا بطباعة جميع قيمها.

مثال

// وضعنا فيها ثلاث قيم fruits هنا قمنا بتعريف مصفوفة إسمها
let fruits = ['Apple', 'Banana', 'Blueberry'];

// fruits هنا قمنا بطباعة قيم جميع العناصر الموجودة في المصفوفة
document.write('fruits[0] = ' + fruits[0] + '<br>');
document.write('fruits[1] = ' + fruits[1] + '<br>');
document.write('fruits[2] = ' + fruits[2]);

النتيجة

fruits[0] = Apple
fruits[1] = Banana
fruits[2] = Blueberry
جرب الكود

ستتعرف أكثر على طرق التعامل مع المصفوفات في جافاسكربت في درس لاحق.

الدوال ( Functions )

الدوال عبارة عن كود يتم تجهيزه و لا يتم تنفيذه إلا حينما يتم المناداة على الدالة الموجود فيها.
الدوال في جافاسكربت يتم تعريفها بواسطة الكلمة المفتاحية function.

في المثال التالي قمنا بتعريف دالة تقوم بطباعة نص، و من ثم قمنا باستدعاءها حتى يتم تنفيذها.

مثال

// وضعنا فيها أمر طباعة demo هنا قمنا بتعريف دالة إسمها
function demo() {
    document.write('Hello World!');
}

// حتى يتم تنفيذ الأمر الموجود فيها demo() هنا قمنا باستدعاء الدالة
demo();

النتيجة

Hello World!
جرب الكود

ستتعرف أكثر على طرق التعامل مع الدوال في جافاسكربت في درس لاحق.

الفرق بين null و undefined

undefined تعني أن المتغير فارغ و لم يتم إعطاؤه أي قيمة.
أيضاً، في حال تم إسناد undefined كقيمة لمتغير فهذا سيؤدي إلى حذف قيمته بشكل نهائي.

null يمكن وضعها في أي متغير للإعلان بأنه موجود و لكنه فارغ ليس فيه أي قيمة بعد.
غالباً ما يتم وضع null لتمثل كائن فارغ، أو مصفوفة فارغة و ليس متغير عادي.


في المثال التالي قمنا بطباعة قيمة متغير مع العلم أننا لم نقم بوضع قيمة فيه.

المثال الأول

// هنا قمنا بتعريف متغير بدون إعطائه قيمه أولية
var website;

// هنا حاولنا طباعة قيمة المتغير مع علمنا بأنه لا يملك قيمة
document.write('website = ' + website);

النتيجة

website = undefined
جرب الكود

في المثال التالي قمنا بتعريف متغير قيمته null و من ثم قمنا بطباعة قيمته.

المثال الثاني

// null هنا قمنا بتعريف متغير قيمته الأولية هي
var cars = null;

// cars هنا قمنا بطباعة قيمة المتغير
document.write('cars = ' + cars);

// cars هنا قمنا بوضع بوضع مصفوفة من القيم في المتغير
cars = ['BMW', 'Toyota', 'Ferrari'];

// من جديد cars هنا قمنا بطباعة قيمة المتغير
document.write('<br>');
document.write('cars = ' + cars);

النتيجة

cars = null
cars = BMW,Toyota,Ferrari
جرب الكود

طريقة معرفة نوع البيانات

يمكنك استخدام العامل typeof لمعرفة أنواع البيانات.

في المثال التالي قمنا بتعريف بعض الأشياء و من ثم قمنا بطباعة أنواعهم.

مثال

// هنا قمنا بتعريف متغيرات و إعطاءها بيانات من مختلف الأنواع
var x;
var firstName = 'Mhamad';
var age = 25;
var isMarried = true;
var person = {id: 1, username: 'mhamad'};
var fruits = ['Apple', 'Banana', 'Blueberry'];
function demo() {}

// هنا قمنا بطباعة أنواع المتغيرات
document.write('x: ' + typeof x);
document.write('<br>');
document.write('firstName: ' + typeof firstName);
document.write('<br>');
document.write('age: ' + typeof age);
document.write('<br>');
document.write('isMarried: ' + typeof isMarried);
document.write('<br>');
document.write('person: ' + typeof person);
document.write('<br>');
document.write('fruits: ' + typeof fruits);
document.write('<br>');
document.write('demo: ' + typeof demo);

النتيجة

x: undefined
firstName: string
age: number
isMarried: boolean
person: object
fruits: object
demo: function
جرب الكود