I think the toy analogy may not be very suitable.

Spot on! I second that. Though I just love JS, I can recount how much I struggled when I was getting my pet web app on its legs and suddenly a new framework comes in or a new variant of existing shows up. The migration was such a pain without proper documentation. Be it for bundling and transpiling(webpack), front end frameworks (Angular to Vue and then to Vue2 with webpack). If the expectation is that one should be a JS hacker to understand whats failing with the simplest task, I cannot blame them. But still, the problem is that one new framework brings with it host of other modules and there are very few which are time tested. At the end, too many moving parts makes debugging such a nightmare(at least for me :( )! I just wish JS landscape does not change so rapidly. After all the beginners should not find themselves in crossroads so often.