var is function scoped, let is and const is block scoped. var allows redeclaring, let and const don't. let and var allow reassigning, const doesnt
spread operator breaks down an array into individual items
map modifies each element, performs a function and creates a new array. filter creates a new array with elements that meet the condition. forEach() execute a function for each element but does not create new array. it works like a loop, but it is a method.
it is a shortcut way to write a function like this () =>
backticked strings ``. allows multiline, also allows dynamic variables by variable interpolation