Es wäre meiner Meinung nach aufgrund mehrerer Gründe besser, mit JavaScript anzufangen.
- JavaScript ist weiter verbreitet als TypeScript
- Es hilft später, bestimmte Verhaltensweisen besser zu verstehen (JS basiert bspw. auf prototypbasierten OOP-Modell, auf die nun eine Sprache wie TypeScript versucht, ein klassenbasiertes OOP-Modell draufzustülpen)
Bezüglich interessanter Themen für später:
- Web-APIs (s. bspw. Canvas, DOM, Fetch, File, Intersection Observer, Mutation Observer, Push, WebSockets, Web Storage)
- Die Features der Webentwicklungstools deines genutzten Browsers (Chrome/Firefox/Safari)
- JS Design Patterns
- Adaptive & Responsive Design (Vorgehensweisen, technische Mittel, ...)
- Node.js, NPM und Bundling Tools (wie Vite, webpack, o.ä.)
- Es wäre gut, sich in ein/e populäre/s JS-Bibliothek/Framework (z.B. Angular / NextJS / React / Svelte / Vue) schon einmal tiefer eingearbeitet zu haben
- Das Gleiche gilt für CSS-Frameworks/Toolkits (s. Bootstrap, Tailwind, UIkit, ...)
- CSS-Erweiterungen (wie LESS oder SCSS)
- CSS Namenskonventionen (siehe BEM, SMACSS)
- Storybooks
- Test-Frameworks (wie Cypress, Jest, Mocha, Playwright, ...)
- WCAG
- Auch wenn es nicht mehr direkt in den Bereich Frontend gehört: Einmal mit einem CMS zu arbeiten, wäre nicht schlecht
Auch wenn ich bzgl. Tools oben meist mehrere Optionen nenne, reicht es vollkommen aus, sich jeweils nur eines herauszugreifen, um das darumliegende Konzept kennenzulernen. Sich direkt in alles einarbeiten zu wollen (z.B. alle genannten Testframeworks), wäre übertrieben. Womit du bei einem Arbeitgeber letztendlich tatsächlich einmal konfrontiert wirst, ist nicht absehbar.
(...) z.B. höre ich immer wie wichtig REST-APIs sind (...)
REST gibt Regeln vor, wie eine Schnittstelle aussehen soll, über die ein Client mit einem Server kommuniziert. Webartikel, die diese Architektur genauer beschreiben, gibt es viele (Beispiel). Ein einfaches Einstiegstutorial mit Node.js findest du beispielsweise im Postman Blog (einen Postman-Account benötigst du m.E. nicht; die Anfragen an die API kannst du genauso gut mittels Fetch stellen).