Files
2022-01-20 20:30:18 +01: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"]
};

この例では、すべてのプロパティを namelegstails のように文字列として格納しています。 しかし、数値もプロパティとして使用することが可能です。 次のように、1 つの単語の文字列プロパティの場合は引用符を省略することもできます。

const anotherObject = {
  make: "Ford",
  5: "five",
  "model": "focus"
};

ただし、オブジェクトに文字列ではないプロパティがある場合、JavaScript では自動的に文字列に型変換されます。

--instructions--

犬を表現する myDog というオブジェクトを作成してください。このオブジェクトには name (文字列)、legstailsfriends というプロパティを含めてください。

オブジェクトのプロパティには任意の値を設定できます。ただし、name は文字列、legstails は数値、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!"]
};