It can be used in vanilla JS but usually it is used with TypeScript for all the same reasons people normally use TypeScript.