Most of chapter 4 will be impossible to really translate to JS because JS has no macros (required to implement some of the special forms like delay) and isn't homoiconic.
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.