I ran across some code this week that has me very confused. Can someone break down for me exactly what's going on, line-by-line?
new Date(
(d => d.setMonth(d.getMonth() - 6))(
new Date()
)
)
I understand it's creating the current date minus six months (which I didn't expect to work in all cases, but that is an aside). In particular, I don't understand two things:
a) The variable d. Does this represent the new Date that's being created on line 1?
b) The second new Date() on line 3. Is d.setMonth() returning a function and new Date() is the parameter?
Thanks in advance!