كائنات جافا سكريبت
في JavaScript ، الكائنات هي ملك. إذا فهمت الأشياء ، فإنك تفهم JavaScript.
في JavaScript ، تقريبًا "كل شيء" هو كائن.
- يمكن أن تكون القيم المنطقية كائنات (إذا تم تعريفها
new
بالكلمة الأساسية) - يمكن أن تكون الأرقام كائنات (إذا تم تحديدها
new
بالكلمة الأساسية) - يمكن أن تكون السلاسل كائنات (إذا تم تعريفها
new
بالكلمة الأساسية) - التواريخ هي دائما أشياء
- الرياضيات هي دائما كائنات
- التعبيرات العادية هي دائما كائنات
- المصفوفات هي دائما كائنات
- الوظائف هي دائما كائنات
- الأشياء هي دائما كائنات
جميع قيم JavaScript ، باستثناء القيم الأولية ، هي كائنات.
أساسيات جافا سكريبت
القيمة الأولية هي قيمة ليس لها خصائص أو طرق.
نوع البيانات الأولي هو البيانات التي لها قيمة أولية.
تحدد JavaScript 5 أنواع من أنواع البيانات الأولية:
string
number
boolean
null
undefined
القيم الأولية غير قابلة للتغيير (فهي مضمنة وبالتالي لا يمكن تغييرها).
إذا كانت x = 3.14 ، فيمكنك تغيير قيمة x. لكن لا يمكنك تغيير قيمة 3.14.
قيمة | نوع | تعليق |
---|---|---|
"مرحبا" | سلسلة | "مرحبًا" هي دائمًا "مرحبًا" |
3.14 | عدد | 3.14 تساوي دائمًا 3.14 |
صحيح | قيمة منطقية | الصواب هو الصحيح دائما |
خاطئة | قيمة منطقية | الخطأ هو دائما خطأ |
باطل | فارغة (كائن) | القيمة الفارغة دائمًا خالية |
غير معرف | غير معرف | غير معرف هو دائما غير معرف |
الكائنات متغيرات
يمكن أن تحتوي متغيرات JavaScript على قيم فردية:
مثال
let person = "John Doe";
يمكن أن تحتوي متغيرات JavaScript أيضًا على العديد من القيم.
الكائنات هي متغيرات أيضًا. لكن يمكن أن تحتوي الكائنات على العديد من القيم.
تتم كتابة قيم الكائن كاسم: أزواج قيمة (الاسم والقيمة مفصولتان بنقطتين).
مثال
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
كائن JavaScript هو مجموعة من القيم المسماة
إنها ممارسة شائعة للإعلان عن الكائنات باستخدام const
الكلمة الأساسية.
مثال
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
خصائص الموضوع
تسمى القيم المسماة ، في كائنات JavaScript ، بالخصائص .
ملكية | قيمة |
---|---|
الاسم الاول | يوحنا |
الكنية | ظبية |
عمر | 50 |
لون العين | أزرق |
الكائنات المكتوبة كأزواج قيمة الاسم تشبه:
- المصفوفات النقابية في PHP
- قواميس في بايثون
- تجزئة الجداول في C
- خرائط تجزئة في جافا
- تجزئة في روبي وبيرل
طرق الكائن
الأساليب هي الإجراءات التي يمكن تنفيذها على الكائنات.
يمكن أن تكون خصائص الكائن قيمًا أولية وكائنات ووظائف أخرى.
طريقة الكائن هي خاصية كائن تحتوي على تعريف دالة .
ملكية | قيمة |
---|---|
الاسم الاول | يوحنا |
الكنية | ظبية |
عمر | 50 |
لون العين | أزرق |
الاسم الكامل | function () {return this.firstName + "" + this.lastName؛} |
كائنات JavaScript هي حاويات للقيم المسماة ، تسمى الخصائص والأساليب.
سوف تتعلم المزيد عن الأساليب في الفصول التالية.
إنشاء كائن JavaScript
باستخدام JavaScript ، يمكنك تحديد وإنشاء الكائنات الخاصة بك.
هناك طرق مختلفة لإنشاء كائنات جديدة:
- إنشاء كائن واحد ، باستخدام كائن حرفي.
- قم بإنشاء كائن واحد باستخدام الكلمة الأساسية
new
. - حدد مُنشئ كائن ، ثم أنشئ كائنات من النوع المركب.
- قم بإنشاء كائن باستخدام
Object.create()
.
استخدام كائن حرفي
هذه هي أسهل طريقة لإنشاء كائن JavaScript.
باستخدام كائن حرفي ، يمكنك تحديد وإنشاء كائن في عبارة واحدة.
الكائن الحرفي هو قائمة من أزواج الاسم: القيمة (مثل العمر: 50) داخل الأقواس المتعرجة {}.
ينشئ المثال التالي كائن JavaScript جديدًا بأربع خصائص:
مثال
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
المسافات وفواصل الأسطر ليست مهمة. يمكن أن يمتد تعريف الكائن إلى عدة أسطر:
مثال
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
ينشئ هذا المثال كائن JavaScript فارغًا ، ثم يضيف 4 خصائص:
مثال
const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
باستخدام JavaScript Keyword new
يقوم المثال التالي بإنشاء كائن JavaScript جديد باستخدام new Object()
، ثم يضيف 4 خصائص:
مثال
const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
الأمثلة أعلاه تفعل نفس الشيء بالضبط.
لكن ليست هناك حاجة لاستخدام new Object()
.
لسهولة القراءة والبساطة وسرعة التنفيذ ، استخدم الأسلوب الحرفي للكائن.
كائنات جافا سكريبت قابلة للتغيير
الكائنات قابلة للتغيير: يتم تناولها بالإشارة وليس القيمة.
إذا كان الشخص كائنًا ، فلن تُنشئ العبارة التالية نسخة من الشخص:
const x = person; // Will not create a copy of person.
الكائن x ليس نسخة من الشخص. إنه شخص . كل من x والشخص هما نفس الشيء.
أي تغييرات على س ستغير الشخص أيضًا ، لأن س والشخص هما نفس الشيء.
مثال
const person = {
firstName:"John",
lastName:"Doe",
age:50, eyeColor:"blue"
}
const x = person;
x.age = 10; // Will change both x.age and person.age