جميع المتغيرات في JavaScript هي كائنات ، مع استثناءين لاغية وغير محددة.
نسخة الكود كما يلي:
false.toString () ؛
[1 ، 2 ، 3] .ToString () ؛
وظيفة foo () {}
foo.Bar = 1 ؛
Foo.Bar ؛
الاعتقاد الخاطئ الشائع هو أن القيمة الحرفية للرقم ليست كائنًا. هذا بسبب وجود خطأ في محلل JavaScript الذي يحاول تحليل مشغل النقطة كجزء من القيمة الاسمية العددية النقطة العائمة.
نسخة الكود كما يلي:
2.ToString () ؛
هناك العديد من الحلول لجعل القيمة الحرفية للرقم تبدو وكأنها كائن.
نسخة الكود كما يلي:
2..TOSTRING () ؛
2.ToString () ؛
(2). tostring () ؛
كائن كنوع بيانات
يمكن استخدام كائنات JavaScript كجداول التجزئة وتستخدم بشكل أساسي لحفظ المراسلات بين المفاتيح والقيم المسماة.
باستخدام بناء الجملة الحرفي لكائن - {} - يمكن إنشاء كائن بسيط. يرث هذا الكائن الذي تم إنشاؤه حديثًا من Object.Prototype أدناه ، دون أي خصائص مخصصة.
نسخة الكود كما يلي:
var foo = {} ؛
// كائن جديد يحتوي على خاصية مخصصة "اختبار" بقيمة 12
var bar = {test: 12} ؛
خصائص الوصول
هناك طريقتان للوصول إلى خصائص الكائن أو مشغل DOT أو مشغل القوس.
نسخة الكود كما يلي:
var foo = {name: 'Kitten'}
foo.name ؛
Foo ['name'] ؛
var get = 'name' ؛
Foo [GET] ؛
Foo.1234 ؛
Foo ['1234'] ؛
بناء الجملة متكافئان ، لكن مشغل الدعامة لا يزال صالحًا في حالتين التاليتين - إعداد خصائص ديناميكي - اسم السمة ليس اسمًا متغيرًا صالحًا (ملاحظة المترجم: على سبيل المثال ، يحتوي اسم السمة على مسافات ، أو اسم السمة هو الكلمات الرئيسية ل JS)
ملاحظة المترجم: في أداة اكتشاف بناء الجملة JSLINT ، يوصى بمشغلي النقاط.
حذف السمات
الطريقة الوحيدة لحذف خاصية هي استخدام مشغل الحذف ؛
نسخة الكود كما يلي:
14
var obj = {
بار: 1 ،
فو: 2 ،
باز: 3
} ؛
obj.bar = غير محدد ؛
obj.foo = null ؛
حذف obj.baz ؛
لـ (var i in obj) {
if (obj.hasownproperty (i)) {
console.log (i ، '' + obj [i]) ؛
}
}
نتائج الإخراج أعلاه لها شريط غير محدد و foo null - يتم حذف baz فقط بالفعل ، لذلك يختفي من نتائج الإخراج.
بناء جملة أسماء السمات
نسخة الكود كما يلي:
اختبار var = {
"CASE": "أنا كلمة رئيسية لذلك يجب أن نذكر كسلسلة" ،
حذف: "أنا كلمة رئيسية أيضًا لذا أنا" // خطأ: Syntaxerror
} ؛
يمكن إعلان اسم سمة كائن باستخدام سلسلة أو حرف عادي. ومع ذلك ، نظرًا لعلم أخطاء أخرى من محلل JavaScript ، فإن طريقة الإعلان الثانية أعلاه ستلقي خطأ في بناء الجملة قبل ECMASCRIPT 5.
سبب هذا الخطأ هو أن الحذف هو كلمة رئيسية في لغة JavaScript ؛