Hah, you lost me on that one. I think I’ll have to re-visit my FCC account and go from there, THEN. I will look at it again, I do believe I enjoy where this is headed.
I don’t know exactly what { b = 3 } = {} is doing, but it looks like it might be putting b = 3 into a block statement and then saying that the block is set to a default of an empty object? I don’t think it would ever use the empty object there, because it isn’t being assigned to a name.
function f(a = 3, { b = 3 } = {}) {
console.log('a', a);
console.log('b', b);
}
f(); // a = 3, b = 3
f(1, {}); // a = 1, b = 3
f(1, 7); // a = 1, b = 3
f(1, { b: 1 }); // a = 1, b = 1
(If I’ve gotten anything wrong there, let me know. )