--- id: 56bbb991ad1ed5201cd392d0 title: Build JavaScript Objects challengeType: 1 videoUrl: '' localeTitle: Construir objetos de JavaScript --- ## Description
Es posible que haya escuchado el término object antes. Los objetos son similares a las arrays , excepto que, en lugar de utilizar índices para acceder y modificar sus datos, puede acceder a los datos de los objetos a través de lo que se denomina properties . Los objetos son útiles para almacenar datos de forma estructurada y pueden representar objetos del mundo real, como un gato. Aquí hay una muestra de un objeto cat:
var cat = {
"nombre": "bigotes",
"piernas": 4,
"colas": 1,
"enemigos": ["Agua", "Perros"]
};
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 citas de las propiedades de cadena de una sola palabra, de la siguiente manera:
var anotherObject = {
hacer: "Ford",
5: "cinco",
"modelo": "enfoque"
};
Sin embargo, si su objeto tiene propiedades que no son de cadena, JavaScript las encasilla automáticamente como cadenas.
## Instructions
Haga un objeto que represente a 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 // solution required ```