You can't express more semantics without more syntax. So the "clean" JS is not burdened by the extra semantics that C++ must account for.
I'm not sure that this is true. Let's take a look at generics. In C++, we use angled brackets like myFunction<SomeType>();
This could however be done without introducing angled brackets. myFunction(myFirstClassType); which is what more and more languages nowadays do like Zig.