freeCodeCamp/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-simple-fields.english.md

2.0 KiB

id, title, challengeType
id title challengeType
587d7b8a367417b2b2512b4f Write Concise Object Literal Declarations Using Simple Fields 1

Description

ES6 adds some nice support for easily defining object literals. Consider the following code:
const getMousePosition = (x, y) => ({
  x: x,
  y: y
});
getMousePosition is a simple function that returns an object containing two fields. 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:
const getMousePosition = (x, y) => ({ x, y });

Instructions

Use simple fields with object literals to create and return a Person object.

Tests

tests:
  - text: 'the output is <code>{name: "Zodiac Hasbro", age: 56, gender: "male"}</code>.'
    testString: 'assert(() => {const res={name:"Zodiac Hasbro",age:56,gender:"male"}; const person=createPerson("Zodiac Hasbro", 56, "male"); return Object.keys(person).every(k => person[k] === res[k]);}, "the output is <code>{name: "Zodiac Hasbro", age: 56, gender: "male"}</code>.");'
  - text: 'No <code>:</code> were used.'
    testString: 'getUserInput => assert(!getUserInput("index").match(/:/g), "No <code>:</code> were used.");'

Challenge Seed

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

// solution required