--- id: 56bbb991ad1ed5201cd392d0 title: Build JavaScript Objects localeTitle: Construir objetos de JavaScript challengeType: 1 --- ## Description
Es posible que hayas escuchado el término object antes. objetos son similares a las arrays , excepto que en lugar de utilizar índices para acceder y modificar sus datos, puede acceder a los datos en objetos a través de lo que se denomina properties . objetos son útiles para almacenar datos de manera estructurada y pueden representar objetos del mundo real, como un gato. Aquí hay una muestra de un objeto de gato:
var cat = {
  "name": "Whiskers",
  "legs": 4,
  "tails": 1,
  "enemies": ["Water", "Dogs"]
};
En este ejemplo, todas las propiedades se almacenan como cadenas, como "name" , "legs" y "tails" . Sin embargo, también puede utilizar los números como propiedades. Incluso puede omitir las comillas para las propiedades de cadena de una sola palabra, de la siguiente manera:
var anotherObject = {
  make: "Ford",
  5: "five",
  "model": "focus"
};
Sin embargo, si su objeto tiene propiedades que no son de cadena, JavaScript las encasillará automáticamente como cadenas.
## Instructions
Haz un objeto que represente un perro llamado myDog que contenga las propiedades "name" (una cadena), "legs" , "tails" y "friends" . Puede establecer estas propiedades de objeto en los valores que desee, siempre que "name" sea ​​una cadena, "legs" y "tails" sean números, y "friends" es una matriz.
## Tests
```yml tests: - text: myDog debe contener el name la propiedad y debe ser una 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 debe contener las legs propiedad y debe ser un 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 debe contener las tails propiedad y debe ser un 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 debe contener los friends la propiedad y debe ser una 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 solo debe contener todas las propiedades dadas. 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 var myDog = { "name": "Camper", "legs": 4, "tails": 1, "friends": ["everything!"] }; ```