--- id: 587d7b8a367417b2b2512b4f title: Write Concise Object Literal Declarations Using Object Property Shorthand challengeType: 1 --- ## Description
ES6 adds some nice support for easily defining object literals. Consider the following code: ```js const getMousePosition = (x, y) => ({ x: x, y: y }); ``` getMousePosition is a simple function that returns an object containing two properties. ES6 provides the syntactic sugar to eliminate the redundancy of having to write x: x. You can simply write x once, and it will be converted tox: x (or something equivalent) under the hood. Here is the same function from above rewritten to use this new syntax: ```js const getMousePosition = (x, y) => ({ x, y }); ```
## Instructions
Use object property shorthand with object literals to create and return an object with name, age and gender properties.
## Tests
```yml tests: - text: 'createPerson("Zodiac Hasbro", 56, "male") should return {name: "Zodiac Hasbro", age: 56, gender: "male"}.' testString: assert.deepEqual({name:"Zodiac Hasbro",age:56,gender:"male"}, createPerson("Zodiac Hasbro", 56, "male")); - text: Your code should not use key:value. testString: getUserInput => assert(!getUserInput('index').match(/:/g)); ```
## Challenge Seed
```js const createPerson = (name, age, gender) => { "use strict"; // change code below this line return { name: name, age: age, gender: gender }; // change code above this line }; console.log(createPerson("Zodiac Hasbro", 56, "male")); // returns a proper object ```
## Solution
```js const createPerson = (name, age, gender) => { "use strict"; return { name, age, gender }; }; ```