Vorbereitung für TypeScript & React
Diese Checkliste deckt alle wichtigen JavaScript-Konzepte ab, die du beherrschen solltest, bevor du mit TypeScript und React startest.
- Code-Struktur: Statements, Semikolons, Codeblöcke
- Kommentare (
//und/* ... */) - Case-Sensitivity in Variablen und Funktionen
- Verständnis von "Interpreter" vs. "Compiler"
-
var,let,const– Unterschiede verstehen - Blockscope (
let/const) vs. Functionscope (var) - Wann man
constverwendet (Standard) - Reassigning vs. Immutable Variablen
- Primitive Typen:
string,number,boolean,null,undefined,symbol,bigint - Referenztypen:
object,array,function -
typeof-Operator (typeof value) - Dynamische Typisierung – JavaScript als "loosely typed language"
- Arithmetische Operatoren (
+,-,*,/,%,**) - Zuweisungsoperatoren (
+=,-=,*=,/=) - Vergleichsoperatoren (
==vs.===,!=vs.!==) - Logische Operatoren (
&&,||,!) - Ternärer Operator (
condition ? value1 : value2)
- Bedingte Anweisungen (
if,else if,else) -
switch-Case Anweisungen - Schleifen:
for,while,do...while -
for...offür Arrays -
for...infür Objekte -
break&continue - Fehlerbehandlung mit
try,catch,finally
- Funktionsdeklaration (
function name() {}) - Funktionsausdruck (
const name = function() {}) - Arrow Functions (
const fn = () => {}) - Parameter & Defaultwerte (
function fn(a=10) {}) - Rückgabewerte (
return) - Anonyme Funktionen
- Immediately Invoked Function Expressions (IIFE)
- Funktionen als Parameter (Callbacks)
- Higher-Order Functions
- Rekursive Funktionen
- String-Konkatenation (
'Hallo ' + name) - Template Literals (
`Hallo ${name}`) - String-Methoden:
.length,.toUpperCase(),.includes(),.split()
- Number-Methoden:
parseInt(),parseFloat(),toFixed() - Mathematische Funktionen:
Math.round(),Math.random(),Math.max()
- Array erstellen:
[],new Array() - Zugriff auf Elemente (
arr[index]) - Länge (
arr.length)
-
push(),pop(),shift(),unshift() -
map(),filter(),reduce(),find(),some(),every() -
includes(),indexOf(),sort(),reverse() - Mehrdimensionale Arrays
- Destructuring von Arrays
- Objektliterale (
{ key: value }) - Zugriff: Punktnotation (
obj.key) & Klammernotation (obj["key"]) - Dynamische Schlüssel (
[variableName]: value) -
Object.keys(),Object.values(),Object.entries() - Methoden in Objekten (
sayHello() {}) - Destructuring von Objekten (
const { name, age } = user) - Spread-Operator für Objekte (
{...obj, newKey: value})
-
let,const, Arrow Functions - Template Literals
- Destructuring (Objekte & Arrays)
- Spread / Rest Operatoren (
...args) - Default Parameter
- Import / Export von Modulen
- Promises &
async/await - Optional Chaining (
obj?.key?.subkey) - Nullish Coalescing (
value ?? fallback)
- Klassen & Konstruktoren (
class User { constructor(name){...}}) - Methoden (
speak() {}) - Vererbung (
extends,super) -
this-Kontext - Getter & Setter
- Statische Methoden
- Promises (
new Promise((resolve, reject) => {})) -
.then(),.catch(),.finally() -
async/await - Fetch API (
await fetch(url)) - Fehlerbehandlung (
try...catch) -
Promise.all()/Promise.race()
-
export defaultundexport const -
import something from './file' - Struktur von Modulen
- Barrel Files (
index.jsfür Sammel-Exporte)
- Inline-Events:
<button onclick="handleClick()"> -
addEventListener() - Eventobjekt (
e.target.value,e.preventDefault()) - Anonyme Arrow Functions in Events
-
document.querySelector(),getElementById() -
innerHTML,textContent,classList - Unterschied DOM-Manipulation vs. Framework-Rendering
- Closures – Variablen im Funktionskontext
- Scopes – Global, Local, Block
- Pure Functions – Funktionen ohne Seiteneffekte
- Immutability – Objekte nicht direkt verändern
- Event Loop & Call Stack – Grundverständnis
- Currying & Function Composition (optional, aber hilfreich)
- Immer
constbevorzugen, dannlet, nievar - Arrow Functions für Callbacks nutzen
- Vermeide globale Variablen
- Nutze Destructuring konsequent
- Arbeite mit
map,filter,reducestatt manueller Schleifen - Logik in Funktionen kapseln
- Code modular strukturieren
✅ Wenn du alle Punkte abhaken kannst, bist du bereit für:
- TypeScript (Typsicherheit hinzufügen)
- React (Komponenten-basierte UI-Entwicklung)
Viel Erfolg! 🚀