Welke statische methoden van Promise ken je? Vertel erover.
Frontend
Wat is een Set? Wat kunnen we doorgeven wanneer we new Set aanroepen als argument?
Schrijf een functie getUserProfile die een userId als argument neemt en het gebruikersprofiel ophaalt van de API-eindpunt "[link]". De functie moet het gebruikersprofiel loggen als de fetch succesvol is, en een foutmelding loggen als de fetch mislukt.
import React, { useState, useEffect, useLayoutEffect } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("elke rendering 1")); console.log("elke rendering 2"); useEffect(() => console.log("elke rendering 3")); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Incrementeren </button> ); } // mount -> elke rendering 2, elke rendering 1, elke rendering 3 // update -> elke rendering 2, elke rendering 1, elke rendering 3 // unmount 4
Worden let en const (hoisting) opgetild? Wat gebeurt er als je ernaar toegaat voordat ze zijn gedeclareerd?
const S = { id: 1, naam: "Ivan", leeftijd: "39", tel: [phone] }; function getParam(obj, key) { return obj[key]; } getParam(S, "tel"); getParam(S, "job");
Schrijf een abstracte implementatie van de Child-component met memoisatie via React.memo. Wat is het tweede argument dat React.memo accepteert?
Schrijf op wat er gebeurt bij de eerste rendering — in welke volgorde worden de console.log'jes weergegeven. Wat gebeurt er na het klikken?
Wat is een WeakSet?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; const someFunc = (arr) => { return [...arr].sort((a, b) => a - b); }; const LazyInit = (props) => { const [arr, setArr] = useState(() => someFunc(props.arr)); const onClick = () => { setArr((prev) => prev.concat(prev.length + 1)) } return ( <> <button onClick={onClick}> Incrementeren </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />; --- De rechterkant bespreekt: - Gebruik van TypeScript met generics: "<T extends object, K extends keyof T>" - Controleren of data een string is met een type guard: "isString(data: unknown): data is string { ... }" - Gebruik van useState met een functie om herhaald uitvoeren bij elke rendering te voorkomen: ``` const [state, setState] = useState(getComplexData); // of const [state, setState] = useState(() => getComplexData()); ``` - De functie die aan useState wordt doorgegeven, wordt slechts eenmaal uitgevoerd bij het monteren van het component. - Waarschuwing over het direct muteren van de staat op regel 11 met prev.concat. --- De technische taak is om het React-componentcode te analyseren en mogelijk te corrigeren of te optimaliseren, met speciale aandacht voor: - Juiste lazy initialisatie van de staat met useState. - Vermijden van directe mutatie van de staat. - Begrip van TypeScript-generics en type guards. - Zorgen dat het component de staat correct bijwerkt bij het klikken op de knop.
Wat is een closure?
Er zijn drie gegevensbronnen die dezelfde informatie teruggeven. Hoe krijg je antwoord van de snelste?
Wat is het verschil tussen Map en WeakMap?
Vertel me over de useState hook in React.
Waarom kun je met pijl functies niet werken met de constructor new?
Hoe worden functies in JavaScript gemaakt? Welke manieren zijn er om functies te maken en waarin verschillen ze?
Welke utility-types van TypeScript gebruik je in je werk? Vertel over Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract.