Files
freeCodeCamp/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects.md
2022-12-19 20:41:09 +02:00

3.8 KiB
Raw Blame History

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 повинен бути масивом.

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