جافاسكربتأنواع البيانات
- مفهوم أنواع البيانات
- القيم العددية ( 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 ).
المثال الأول
النتيجة
y = 5
في المثال التالي قمنا بتعريف متغيرات وضعنا فيها قيم عددية عشرية ( Decimal Numbers ).
المثال الثاني
النتيجة
y = 2.44
في المثال التالي قمنا بتعريف متغيرات وضعنا فيها قيم عددية أسيّة ( Exponent Numbers ).
المثال الثالث
النتيجة
y = 0.1234
في المثال التالي قمنا بإجراء عملية حسابية على الأعداد و هنا لاحظ أنه رغم أن العددين صحيحين إلا أن الإجابة تم تحويلها بشكل تلقائي إلى عدد عشري حتى تكون القيمة أدق.
المثال الرابع
النتيجة
القيم النصية ( Strings )
القيم النصية هي الأحرف، الكلمات، الجمل و النصوص التي يمكن البحث فيها، تقطيعها، دمجها إلخ..
القيمة النصية يمكن وضعها بين " " أو ' '.
ستتعرف على جميع الدوال الجاهزة في جافاسكربت و المخصصة للتعامل مع النصوص في درس لاحق.
في المثال التالي قمنا بتعريف متغيرات وضعنا فيها نصوص.
المثال الأول
النتيجة
web2 = FreeSkillAcademy.com
في المثال التالي قمنا بدمج النصوص و تخزينها في متغير جديد.
المثال الثاني
النتيجة
القيم المنطقية ( Booleans )
القيم المنطقية تستخدم حين يكون هناك إحتمالين فقط فتكون القيمة إما true و إما false.
في المثال التالي قمنا بتعريف متغيرات وضعنا فيها منقطية ( Booleans ).
مثال
النتيجة
isMarried = false
القيم الكائنية ( Objects )
الكائن عبارة عن نوع يمكنه إمتلاك عدة خصائص و يتم تعريفه بواسطة الرمزين { }.
في المثال التالي قمنا بتعريف كائن فيه ثلاث خصائص مع إعطاء كل خاصية منهم قيمة.
بعدها قمنا بطباعة قيم جميع الخصائص التي يملكها الكائن.
مثال
النتيجة
username = mhamad
isWorking = true
ستتعرف أكثر على طرق التعامل مع الكائنات في جافاسكربت في درس لاحق.
المصفوفات ( Arrays )
المصفوفة عبارة عن نوع يمكنه تخزين العديد من القيم في وقت واحد و يتم تعريفه بواسطة الرمزين [].
قيم المصفوفة يمكن أن تكون أعداد، نصوص، كائنات إلخ..
في المثال التالي قمنا بتعريف مصفوفة وضعنا 3 قيم نصية، و من ثم قمنا بطباعة جميع قيمها.
مثال
النتيجة
fruits[1] = Banana
fruits[2] = Blueberry
ستتعرف أكثر على طرق التعامل مع المصفوفات في جافاسكربت في درس لاحق.
الدوال ( Functions )
الدوال عبارة عن كود يتم تجهيزه و لا يتم تنفيذه إلا حينما يتم المناداة على الدالة الموجود فيها.
الدوال في جافاسكربت يتم تعريفها بواسطة الكلمة المفتاحية function.
في المثال التالي قمنا بتعريف دالة تقوم بطباعة نص، و من ثم قمنا باستدعاءها حتى يتم تنفيذها.
مثال
النتيجة
ستتعرف أكثر على طرق التعامل مع الدوال في جافاسكربت في درس لاحق.
الفرق بين null و undefined
undefined تعني أن المتغير فارغ و لم يتم إعطاؤه أي قيمة.
أيضاً، في حال تم إسناد undefined كقيمة لمتغير فهذا سيؤدي إلى حذف قيمته بشكل نهائي.
null يمكن وضعها في أي متغير للإعلان بأنه موجود و لكنه فارغ ليس فيه أي قيمة بعد.
غالباً ما يتم وضع null لتمثل كائن فارغ، أو مصفوفة فارغة و ليس متغير عادي.
في المثال التالي قمنا بطباعة قيمة متغير مع العلم أننا لم نقم بوضع قيمة فيه.
المثال الأول
النتيجة
في المثال التالي قمنا بتعريف متغير قيمته null و من ثم قمنا بطباعة قيمته.
المثال الثاني
النتيجة
cars = BMW,Toyota,Ferrari
طريقة معرفة نوع البيانات
يمكنك استخدام العامل typeof لمعرفة أنواع البيانات.
في المثال التالي قمنا بتعريف بعض الأشياء و من ثم قمنا بطباعة أنواعهم.
مثال
النتيجة
firstName: string
age: number
isMarried: boolean
person: object
fruits: object
demo: function