Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects.md
2022-10-20 09:13:17 -07:00

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!"]
};