Vue isn't pure JavaScript, but also templating language.
Angular also has templating language.
But React, and also JSX is pure JavaScript, and is very compatible with TypeScript. Also, if you don't want JSX, you can use lit-html which is just tagged-template-literals. That is also why CSS-in-JS makes sense. (Yeah, I know there was a discussion.)
Vue isn't pure JavaScript, but also templating language.
Angular also has templating language.
But React, and also JSX is pure JavaScript, and is very compatible with TypeScript. Also, if you don't want JSX, you can use lit-html which is just tagged-template-literals. That is also why CSS-in-JS makes sense. (Yeah, I know there was a discussion.)
I used to hate JSX too, but I changed my mind.
A guide to using TypeScript in Vue, with maximal VSCode IntelliSense
Pacharapol Withayasakpunt ・ Jan 14 ・ 2 min read
I do find React too heavy weight though. Might try Preact or webcomponents.
Ok, let me rephrase that.
JSX takes HTML, CSS, and JavaScript, throws it into a blender, and gives you a horrible goop.
Vue.js has a nice separation of concerns, with Styling (CSS, SASS, Stylus), HTML, and pure JavaScript being separate.
You can like JSX; I am not a believer that everyone should do things my way, but I do have my personal preferences.