Personally, I would say do it after you’ve done the other sections: the concepts it uses are explained in more detail and in a clearer, one-concept-at-a-time way, so it should be a lot easier once you are armed with that knowledge.
Yeah, the ES6 stuff surprised me with how challenging it was compared to what preceded it. If I didn’t have experience in several other C-type languages, and a love of parsimonious code, I’d have been a little freaked out. I agree with Dan: Do the basics, and then DEFINITELY come back to it. You can even try to re-do some of the other lessons in fewer lines of code using that syntax. I think the reason FCC includes it so early is that you will run into a lot of that syntax in code examples in places around the web, so if you wanted to go off-site and read some code, you’d probably need to understand some of it. In fact, it was the arrow syntax that brought me back to it when I initially had skipped it.
Yea, that is important - particularly let/const, class and the arrow functions (+ rest/spread possibly). I feel the main issue is that almost all the other sections have a single concept per challenge, which builds on the previous challenge and so on. The ES6 section basically chucks two, three or four concepts (on the whole, completely divorced from anything that’s been introduced before) at a camper. Coupled to this is that a fair % of them use contrived examples that don’t really demonstrate why they’re useful. It just feels raw and not really finished yet, does the ES6 section.
Keep in mind that some of what you need to learn is just difficult. You can put some stuff off, but to get through this you are going to really struggle sometimes.
I don’t know if it’s really putting it off per se though: the best example is the squaring integers challenge. If that was done after the functional section, then the map/filter has already been introduced, and the challenge becomes about using arrow functions. But it at the minute it doesn’t work the other way round: once you get to the functional programming section, the arrow functions aren’t used. And a camper has to understand something immediately after the basics that has a good introduction to its usage in the functional section later on; the order seems out of whack