--- id: 56bbb991ad1ed5201cd392d0 title: Build JavaScript Objects challengeType: 1 videoUrl: https://scrimba.com/c/cWGkbtd forumTopicId: 16769 localeTitle: Создание объектов JavaScript --- ## Description
Возможно, вы слышали термин object раньше. Объекты похожи на arrays , за исключением того, что вместо использования индексов для доступа и изменения их данных вы получаете доступ к данным в объектах через так называемые properties . Объекты полезны для хранения данных структурированным способом и могут представлять объекты реального мира, такие как кошка. Вот пример объекта cat:
var cat = {
«имя»: «Усы»,
«ноги»: 4,
«хвосты»: 1,
«враги»: [«Вода», «Собаки»]
};
В этом примере все свойства сохраняются как строки, такие как "name" , "legs" и "tails" . Однако вы также можете использовать числа как свойства. Вы даже можете опустить кавычки для свойств строки с одним словом, а именно:
var anotherObject = {
сделать: «Форд»,
5: «пять»,
«модель»: «фокус»
};
Однако, если ваш объект имеет какие-либо свойства, отличные от строки, JavaScript автоматически приведет их в виде строк.
## Instructions
Создайте объект, представляющий собаку под названием myDog которая содержит свойства "name" (строка), "legs" , "tails" и "friends" . Вы можете установить эти свойства объекта для любых значений, которые вы хотите, поскольку "name" - это строка, "legs" и "tails" - это числа, а "friends" - это массив.
## Tests
```yml tests: - text: myDog should contain the property name and it should be a string. testString: assert((function(z){if(z.hasOwnProperty("name") && z.name !== undefined && typeof z.name === "string"){return true;}else{return false;}})(myDog)); - text: myDog should contain the property legs and it should be a number. testString: assert((function(z){if(z.hasOwnProperty("legs") && z.legs !== undefined && typeof z.legs === "number"){return true;}else{return false;}})(myDog)); - text: myDog should contain the property tails and it should be a number. testString: assert((function(z){if(z.hasOwnProperty("tails") && z.tails !== undefined && typeof z.tails === "number"){return true;}else{return false;}})(myDog)); - text: myDog should contain the property friends and it should be an array. testString: assert((function(z){if(z.hasOwnProperty("friends") && z.friends !== undefined && Array.isArray(z.friends)){return true;}else{return false;}})(myDog)); - text: myDog should only contain all the given properties. testString: assert((function(z){return Object.keys(z).length === 4;})(myDog)); ```
## Challenge Seed
```js // Example var ourDog = { "name": "Camper", "legs": 4, "tails": 1, "friends": ["everything!"] }; // Only change code below this line. var myDog = { }; ```
### After Tests
```js (function(z){return z;})(myDog); ```
## Solution
```js var myDog = { "name": "Camper", "legs": 4, "tails": 1, "friends": ["everything!"] }; ```