Separating JS and markup <i>was</i> important when we were imperatively mutating the DOM by hand. Writing &quot;inline&quot; JS is necessarily global, and therefore makes writing modular code a lot harder.<p>In other words, separating JS from the markup allowed us to write more modular (and therefore less error-prone) code, but was sometimes harder to think about.<p>Components capture the markup with the JS behavior that corresponds with it in a modular fashion; it&#x27;s the best of both worlds. It really is a step forward.