This repository contains a set of JavaScript exercises focusing on object and array destructuring, as well as refactoring ES5 code into ES2015.
What does the following code return/print?
let facts = { numPlanets: 8, yearNeptuneDiscovered: 1846 };
let { numPlanets, yearNeptuneDiscovered } = facts;
console.log(numPlanets); // ?
console.log(yearNeptuneDiscovered); // ?What does the following code return/print?
let planetFacts = {
numPlanets: 8,
yearNeptuneDiscovered: 1846,
yearMarsDiscovered: 1659
};
let { numPlanets, ...discoveryYears } = planetFacts;
console.log(discoveryYears); // ?What does the following code return/print?
function getUserData({ firstName, favoriteColor = "green" }){
return `Your name is ${firstName} and you like ${favoriteColor}`;
}
getUserData({ firstName: "Alejandro", favoriteColor: "purple" }) // ?
getUserData({ firstName: "Melissa" }) // ?
getUserData({}) // ?What does the following code return/print?
let [first, second, third] = ["Maya", "Marisa", "Chi"];
console.log(first); // ?
console.log(second); // ?
console.log(third); // ?What does the following code return/print?
let [raindrops, whiskers, ...aFewOfMyFavoriteThings] = [
"Raindrops on roses",
"whiskers on kittens",
"Bright copper kettles",
"warm woolen mittens",
"Brown paper packages tied up with strings"
];
console.log(raindrops); // ?
console.log(whiskers); // ?
console.log(aFewOfMyFavoriteThings); // ?What does the following code return/print?
let numbers = [10, 20, 30];
[numbers[1], numbers[2]] = [numbers[2], numbers[1]];
console.log(numbers); // ?Refactor the following ES5 code to use ES2015 object destructuring.
var obj = {
numbers: {
a: 1,
b: 2
}
};
var a = obj.numbers.a;
var b = obj.numbers.b;Refactor the above code to use ES2015 object destructuring.
Refactor the following ES5 code to use ES2015 array destructuring for swapping values.
var arr = [1, 2];
var temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;Refactor the above code to use ES2015 one-line array swap with destructuring.
Write a function called raceResults which accepts a single array argument. It should return an object with the keys first, second, third, and rest.
first: the first element in the arraysecond: the second element in the arraythird: the third element in the arrayrest: all other elements in the array
Write a one-line function to make this work using:
- An arrow function
- Destructuring
- Enhanced object assignment (same key/value shortcut)
raceResults(['Tom', 'Margaret', 'Allison', 'David', 'Pierre']);
/*
{
first: "Tom",
second: "Margaret",
third: "Allison",
rest: ["David", "Pierre"]
}
*/Please do not include the solutions in the code files. The purpose of these exercises is to practice and understand the concepts.