It's not about macros, it's about homoiconicity. I encourage you to read chapters 4 and 5 and think about how sweet.js would help you port those chapters to JS.
Okay, that's cool, but I still think a lot of the explanations wouldn't make sense with code translated to JS, because of the lack of homoiconicity.