We didn’t say this out loud because of a misplaced mental mapping. The logic goes:
- Presentation and data/logic should be separate
- Ergo HTML and JS should be separate
Step 1 is still true, which is why we have a little shudder when we see presentation concerns (HTML) sitting in the middle of what might seem to be a business logic module (JS) - this reminds us of the bad old days of Classic ASP, JSP and the like, where we were compiling HTML on the server to be sent down to non-ajaxified browsers.
To get over this shudder we need to distinguish between presentational JS and data/logic oriented JS. Presentation vs logic separation is good. But this doesn’t map 1:1 to an HTML vs JS separation.