FCC ES6 - Arrow Functions

concat(). default values, rest parameter, spread operator

by vanduzled

JavaScript

const magic = () => {
  const myVar = new Date();
  return myVar;
};

var myDate =  new Date();

function magics(){
  return new Date();
}

const myFunc = () => new Date();



console.log(magic());
console.log(myFunc());
console.log(myDate);
console.log(magics());


//Write Arrow Functions with Parameters
//concat() joins arrays into new arays
const myConcat = (arr1,arr2) => {
  return arr1.concat(arr2);
};

console.log(myConcat([1, 2], [3, 4, 5]));
//[ 1, 2, 3, 4, 5 ]


//Default values
// Only change code below this line
const increment = (number = 4, value = 1) => number + value;
// Only change code above this line

console.log(increment(5))
//6


//rest parameter
//With the rest parameter, you can create functions that take a variable number of arguments
const sum = (...args) => {
  return args.reduce((a, b) => a + b, 0);
}


//spread operator ...
// spread operator returns an unpacked array
const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
let arr2;

arr2 = [...arr1];  // Change this line

console.log(arr2);
[ 'JAN', 'FEB', 'MAR', 'APR', 'MAY' ]