People have really only been doing JavaScript in earnest for the last 7 years. When you consider that, and how terrible the base language actually is, I think it's pretty amazing what people have done with it.
I started writing AJAX callbacks in 2004, and I'm sure I wasn't alone, so 11 years of higher-level JS is certainly a better range.
But we should abstract away from the language. We've had 35+ years of experience of designing and implementing user interfaces, including their design patterns (MVC, Action/Event based). History is filled with successful designs.
Just consider a sophisticated tool such as your standard IDE: do/undo functionality, separation of concerns, event based, MVC, good standard graphical toolkit, easy deployment and upgrades. These designs are not new, and date back to at least the late 90's (Delphi).
What changed? Well, we've been doing incremental design: throw something at the wall, see what sticks and debug the hell out of it while adding new features. Perhaps that design philosophy is not very tenable in the long run.
Honestly. it feels like the language is losing something. I'm having a hard time identifying what that is, but I think it's something like the 'Rusty-ness' of the language, similar to how code can be more or less 'Pythonic'.
The language is still in flux and there is only one way to find out whether we will miss '~'. Let's do it.
Small but irritating issue: The clicking and editing mechanics of Firefox's CSS 'Rules' sidebar is just-a-bit too sticky. It'd be nice to be able to use the arrow keys to move around different fields instead of just TAB and SHIFT + TAB.
The left - right keys should obviously only jump fields once the cursor is at the edge of the current field. Kinda like Microsoft Excel cells, if you know what I mean.
For an opposing example, look at the world of JavaScript.