3.7 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
| id | title | challengeType | videoUrl | forumTopicId | dashedName |
|---|---|---|---|---|---|
| 56bbb991ad1ed5201cd392d0 | بناء الكائنات في JavaScript | 1 | https://scrimba.com/c/cWGkbtd | 16769 | build-javascript-objects |
--description--
ربما قد سمعت عن مصطلح object من قبل.
الكائنات تشبه arrays، باستثناء انه بدلا من استخدام الترتيب للوصول إلى بياناتها وتعديلها، يمكنك الوصول إلى البيانات في الكائنات بواسطة properties.
تكون الكائنات مفيدة لتخزين البيانات بطريقة منظمة، ويمكن تمثل الكائن في الواقع، مثل القطة.
هذا مثال مبسط عن كائن القطة:
const cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
في المثال، يتم تخزين جميع الخصائص كمقاطع مثل name، وlegs، و tails. ومع ذلك، يمكنك استخدام الأرقام كالخواص أيضاً. يمكنك حذف علامتان التنصيص (" ") لخصائص النص المكون من كلمة واحدة، على النحو التالي:
const anotherObject = {
make: "Ford",
5: "five",
"model": "focus"
};
ومع ذلك، إذا كان الكائن الخاص بك يحتوي على خصائص غير المقطع النصي، فإن JavaScript سيحتسبها تلقائياً كمقاطع.
--instructions--
أنشئ كائن يمثل كلبا يسمى myDog الذي يحتوي على الخواص name (مقطع نصي)، legs, و tails, و friends.
يمكنك وضع خصائص الكائن الذي تريدها، مادام أن name هو مقطع، legs و tails هي أرقام، وfriends هو قائمة (array).
--hints--
يجب أن يحتوي myDog على الخاصية name, ويجب أن تكون الخاصية بنوع string.
assert(
(function (z) {
if (
z.hasOwnProperty('name') &&
z.name !== undefined &&
typeof z.name === 'string'
) {
return true;
} else {
return false;
}
})(myDog)
);
يجب أن يحتوي myDog على الخاصية legs, ويجب أن تكون الخاصية بنوع number.
assert(
(function (z) {
if (
z.hasOwnProperty('legs') &&
z.legs !== undefined &&
typeof z.legs === 'number'
) {
return true;
} else {
return false;
}
})(myDog)
);
يجب أن يحتوي myDog على الخاصية tails, ويجب أن تكون الخاصية بنوع number.
assert(
(function (z) {
if (
z.hasOwnProperty('tails') &&
z.tails !== undefined &&
typeof z.tails === 'number'
) {
return true;
} else {
return false;
}
})(myDog)
);
يجب أن يحتوي myDog على الخاصية friends, ويجب أن تكون الخاصية بنوع array.
assert(
(function (z) {
if (
z.hasOwnProperty('friends') &&
z.friends !== undefined &&
Array.isArray(z.friends)
) {
return true;
} else {
return false;
}
})(myDog)
);
يجب أن يحتوي myDog على جميع الخصائص المعطاة فقط.
assert(
(function (z) {
return Object.keys(z).length === 4;
})(myDog)
);
--seed--
--after-user-code--
(function(z){return z;})(myDog);
--seed-contents--
const myDog = {
// Only change code below this line
// Only change code above this line
};
--solutions--
const myDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};