أنواع البيانات
الكتابة الديناميكية
JavaScript هي لغة مكتوبة بشكل فضفاض أو ديناميكي. هذا يعني أنك لست بحاجة إلى تحديد نوع المتغير مقدما.
سيتم تحديد النوع تلقائيًا أثناء تنفيذ البرنامج. هذا يعني أيضًا أنه يمكنك استخدام متغير واحد للتخزين أنواع مختلفة من البيانات:
نوع من
لفهم نوع البيانات المتضمن في المتغير ، يتم استخدام عامل التشغيل "typeof". يُرجع عامل التشغيل typeof
نوع الوسيطة.
له صيغتان ، مع أقواس وبدون:
بناء جملة المشغل:
typeof x
بناء جملة الوظيفة:
typeof (x)
إنها تعمل بنفس الطريقة ، لكن الصيغة الأولى أقصر.
نتيجة "typeof" سلسلة تحتوي على النوع.
##أنواع البيانات
يحدد معيار JavaScript 9 أنواع بيانات. تعرف على كل منهم من خلال الإخراج إلى وحدة التحكم ثم سأخبرك عن كل منهم بمزيد من التفصيل.
let one = { firstName: 'John', lastName: 'Smith' } // object
let two = () => {} // function
let three 'bar' // string
let four = 42 // number
let five = 19241924124n // bigint
let six = true // boolean
let seven = null // null
let eight // undefined
let nine = Symbol() // symbol
شاء
في مصطلحات الكمبيوتر ، الكائن هو قيمة في الذاكرة يمكن الرجوع إليها بواسطة معرف. في JavaScript ، يمكن اعتبار الكائن على أنه مجموعة من الخصائص. إنها مثل خزانة لتخزين أنواع أخرى من البيانات.
المهام
الدالات ⚙️ الوظيفة
هي كائنات عادية لها القدرة الإضافية على استدعاؤها للتنفيذ.
القيم البدائية
جميع أنواع البيانات في JavaScript ، باستثناء الكائنات ، غير قابلة للتغيير (لا يمكن تعديل القيم ، فقط الكتابة فوقها بقيمة كاملة جديدة). على سبيل المثال ، على عكس لغة C ، حيث يمكن تصحيح سلسلة حرفًا بحرف ، في JavaScript يتم إعادة إنشاء السلاسل بالكامل فقط. تسمى قيم هذه الأنواع "القيم الأولية".
سلاسل النص
في JavaScript ، يتم استخدام النوع "سلسلة" لتمثيل البيانات النصية.
أعداد
يمثل نوع البيانات الرقمية "رقم" كلاً من قيم الأعداد الصحيحة وأرقام الفاصلة العائمة.
##بيجينت
في JavaScript ، لا يمكن أن يحتوي النوع "number" على أرقام أكبر من (253-1) (أي 9007199254740991) ، أو أقل من - (253-1) للأرقام السالبة. هذا القيد الفني يرجع إلى تمثيلهم الداخليn.
بالنسبة لمعظم الحالات ، هذا كافٍ. لكن في بعض الأحيان نحتاج إلى أرقام ضخمة حقًا ، كما هو الحال في التشفير أو عند استخدام "طابع زمني" بالميكروثانية.
تمت إضافة النوع bigInt
إلى JavaScript للسماح بأعداد صحيحة عشوائية الطول.
نوع البيانات المنطقية
النوع المنطقي boolean
يمثل كيانًا منطقيًا وله قيمتان 2️⃣: true
and false
يستخدم هذا النوع عادةً لتخزين قيم نعم / لا: صحيح يعني "نعم ، صحيح" وخطأ يعني "لا ، خطأ".
##لا شيء
نوع البيانات هذا له قيمة واحدة فقط: null
. تم تحديد هذه القيمة بشكل خاص على أنها بدائية ، لأنها بالفعل بدائية مرئية في السلوك. ولكن في نفس الوقت ، يتم توريث جميع الكائنات الأخرى من null
, لذلك ، على الرغم من حقيقة أنnull
إرجاع قيمة أولية ، نوعه هو كائن.
على سبيل المثال ، يمكنك تعيينه إلى القيمة الافتراضية.
غير معرف
المتغير الذي لم يتم تعيين قيمة له سيكون له القيمة undefined
.
الاختلافات بين null و undefined
null
هي القيمة المحددة لغياب الكائن ، بينما undefined
يدل على الغموض. على سبيل المثال ، يمكنك التحقق من ذلك في وحدة تحكم المتصفح:
let TestVar
console.log(TestVar) // undefined
console.log(typeof TestVar) // undefined
null
هي قيمة الإسناد. يمكن إسنادها إلى متغير كتمثيل بدون قيمة:
let TestVar = null
console.log(TestVar) // null
console.log(typeof TestVar) // object
يتضح من الأمثلة السابقة أنundefined
و null
نوعان مختلفان: undefined
هو النوع نفسه (غير محدد) ، و null
هو كائن.
null === undefined // false
null == undefined // true
null === null // true
نوع البيانات رمز
Tنوع "الرمز" هو قيمة بدائية فريدة وغير قابلة للتغيير ويمكن استخدامها كمفتاح لخاصية كائن. نادرًا ما يتم استخدام هذا النوع في العمل الحقيقي حتى أننا لن نفكر فيه في هذه الدورة.
مشاكل؟
اكتب لDiscord محادثة.
أسئلة:
ما هو عامل التشغيل "typeof" المستخدم؟
- لتحديد نوع البيانات
- لإخراج نوع البيانات إلى وحدة التحكم
- لإدخال متغير جديد
كم عدد أنواع البيانات التي يحددها معيار JavaScript؟
1.7 2.9 3.5
ما نوع البيانات التي تحتوي على مجموعة من الخصائص؟
function
string
object
هل يمكن تعديل سلسلة حرفًا بحرف في JavaScript؟
- نعم
- ربما في حالات خاصة
- لا ، يتم إعادة إنشاء الخطوط بالكامل فقط ما نوع البيانات الذي يجعل من الممكن العمل مع أعداد صحيحة بطول عشوائي؟
number
string
bigint
أي قيمة ليست من النوعboolean
?
false
null
true
ما نوع البيانات الذي يحتوي على قيمة يمكن استخدامها كمفتاح لخاصية كائن؟
1. undefined
2. symbol
3. null
لفهم مقدار ما تعلمته في هذا الدرس ، قم بإجراء اختبار في مدرستناmobile application حول هذا الموضوع.
##الروابط
- MDN web docs
- Code for Teens: The Perfect Beginner's Guide to Programming, Volume 1: Javascript - Jeremy Moritz
- JavaScript.ru
المساهمون ✨
الشكر يعود إلى هؤلاء الأشخاص الرائعين(emoji key):
Dmitriy Vasilev | Resoner2005 🐛 🎨 🖋 |