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
のように文字列として格納しています。 しかし、数値もプロパティとして使用することが可能です。 次のように、1 つの単語の文字列プロパティの場合は引用符を省略することもできます。
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!"]
};