Sobes.tech

Frontend

Angenommen, der folgende Codeausschnitt: ```typescript let info = { name: "Alex", skill: ["git", "react", "read"], }; let started = (info: any) => { let { name, skill } = info; (name = "Alex Pool"), skill.push("delete"); return { name, skill, online: true, }; }; ``` Erklären Sie, was die Funktion `started` mit dem `info`-Objekt macht und beschreiben Sie die Ausgabe bei Aufruf von `started(info)`. Diskutieren Sie auch, ob das ursprüngliche `info`-Objekt nach dem Aufruf von `started(info)` verändert wird.

162

Was ist React-Reconciliation? Wie funktioniert es? Nach welchen Kriterien entscheidet React, ob eine Komponente aktualisiert oder neu gemountet werden soll?

146

// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //

139

Funktion recursiveFunction(N) { let zähler = 0; if (N > 0) { zähler = zähler + 1; recursiveFunction(N - 1); } // console.log(zähler) } recursiveFunction(3); // 3 3 3 ? Erklären Sie, was die Ausgabe der Funktion sein wird und warum. Identifizieren Sie auch etwaige Probleme mit der aktuellen Implementierung der rekursiven Funktion und schlagen Sie vor, wie man sie korrigieren kann, um die Anzahl der rekursiven Aufrufe korrekt zu zählen und zu protokollieren.

126

Emotion und styled-components generieren Styles zur Laufzeit — ist das ein Problem? Wann fängt es an, Probleme zu machen? Welche Alternativen gibt es mit besserer Performance?

126

Erzähle mir vom Call Stack: wie er funktioniert, in welcher Reihenfolge die Aufgaben ausgeführt werden

121

import "./styles.css"; import React from "react"; const getData = () => { return Array.from({ length: 50 }, (el, idx) => ({ value: Math.random(), label: `Zeile ${idx + 1}`, })); }; export default function App() { const [data, setData] = React.useState(getData()); const handleUpdate = () => { setData((prev) => { return prev.map((row, i) => i === 0 ? { ...row, value: Math.random() } : row ); }); }; return ( <div> <h1>Listen-App</h1> <Button onClick={handleUpdate}>`Zeile 1` aktualisieren</Button> {data.map((row) => { return <Row key={row.label} label={row.label} value={row.value} />; })} </div> ); }

120

Was wird die Ausgabe des folgenden Codeausschnitts sein? ```javascript setTimeout(() => { console.log('B') }, 0) Promise.resolve().then(() => { console.log('C') }) Promise.resolve().then(() => { console.log('D') }) console.log('E') ```

114
/2