--- id: 56bbb991ad1ed5201cd392d0 title: Build JavaScript Objects challengeType: 1 videoUrl: '' 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 должен содержать name свойства, и он должен быть string .' testString: 'assert((function(z){if(z.hasOwnProperty("name") && z.name !== undefined && typeof z.name === "string"){return true;}else{return false;}})(myDog), "myDog should contain the property name and it should be a string.");' - text: 'myDog должен содержать собственности legs , и это должно быть number .' testString: 'assert((function(z){if(z.hasOwnProperty("legs") && z.legs !== undefined && typeof z.legs === "number"){return true;}else{return false;}})(myDog), "myDog should contain the property legs and it should be a number.");' - text: 'myDog должен содержать tails свойств, и это должно быть number .' testString: 'assert((function(z){if(z.hasOwnProperty("tails") && z.tails !== undefined && typeof z.tails === "number"){return true;}else{return false;}})(myDog), "myDog should contain the property tails and it should be a number.");' - text: 'myDog должен содержать friends свойства, и он должен быть array .' testString: 'assert((function(z){if(z.hasOwnProperty("friends") && z.friends !== undefined && Array.isArray(z.friends)){return true;}else{return false;}})(myDog), "myDog should contain the property friends and it should be an array.");' - text: myDog должен содержать только все свойства. testString: 'assert((function(z){return Object.keys(z).length === 4;})(myDog), "myDog should only contain all the given properties.");' ```
## Challenge Seed
```js // Example var ourDog = { "name": "Camper", "legs": 4, "tails": 1, "friends": ["everything!"] }; // Only change code below this line. var myDog = { }; ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```