2.6 KiB
2.6 KiB
id, title, challengeType
id | title | challengeType |
---|---|---|
5cfa550e84205a357704ccb6 | Use Destructuring Assignment to Extract Values from Objects | 1 |
Description
Consider the following ES5 code:
const user = { name: 'John Doe', age: 34 };
const name = user.name; // name = 'John Doe'
const age = user.age; // age = 34
Here's an equivalent assignment statement using the ES6 destructuring syntax:
const { name, age } = user;
// name = 'John Doe', age = 34
Here, the name
and age
variables will be created and assigned the values of their respective values from the user
object. You can see how much cleaner this is.
You can extract as many or few values from the object as you want.
Instructions
today
and tomorrow
the values of today
and tomorrow
from the HIGH_TEMPERATURES
object.
Tests
tests:
- text: You should remove the ES5 assignment syntax.
testString: assert(!code.match(/today = HIGH_TEMPERATURES\.today/g) && !code.match(/tomorrow = HIGH_TEMPERATURES\.tomorrow/g))
- text: You should use destructuring to create the <code>today</code> variable.
testString: assert(code.match(/(var|let|const)\s*{\s*(today[^}]*|[^,]*,\s*today)\s*}\s*=\s*HIGH_TEMPERATURES(;|\s+|\/\/)/g));
- text: You should use destructuring to create the <code>tomorrow</code> variable.
testString: assert(code.match(/(var|let|const)\s*{\s*(tomorrow[^}]*|[^,]*,\s*tomorrow)\s*}\s*=\s*HIGH_TEMPERATURES(;|\s+|\/\/)/g));
Challenge Seed
const HIGH_TEMPERATURES = {
yesterday: 75,
today: 77,
tomorrow: 80
};
// change code below this line
const today = HIGH_TEMPERATURES.today;
const tomorrow = HIGH_TEMPERATURES.tomorrow;
// change code above this line
console.log(yesterday) // should be not defined
console.log(today); // should be 77
console.log(tomorrow); // should be 80
Solution
const HIGH_TEMPERATURES = {
yesterday: 75,
today: 77,
tomorrow: 80
};
// change code below this line
const { today, tomorrow } = HIGH_TEMPERATURES;
// change code above this line
console.log(yesterday) // should be not defined
console.log(today); // should be 77
console.log(tomorrow); // should be 80