It goes deeper than you think. Frameworks like Angular are used everywhere. So you not only have an abstraction of the underlying language (Typescript compiles down to Javascript), but you have additional abstractions like the virtual DOM. Basically, Angular acts like a go between from the code you write and the end result webpage. It makes both writing complex interactions and debugging a major pain.
And this is more being done for even simple websites now. It’s the equivalent of building a small garden shed with a kitchen, fridge, furnace, bedroom, bathroom, insulation, etc.