const SomeElement = ({ hasData }) => { if (hasData) { return <div> <DataElement /> <SomeImportantElement /> </div> } return <div> <SomeImportantElement /> </div> }
Frontend
Получихте код за преглед — какво не е оптимално тук?
Разкажи ми за React Hook Form: основни възможности, как се използва, как работи валидирането?
Каква е разликата между рендериране и рисуване? Как се нарича процесът на сравняване на виртуалното и реалното DOM дърво?
// Методът findUnique се прилага към масива, който връща нов масив с уникалните елементи, // тоест тези, които се срещат само веднъж в оригиналния масив, в същия ред. // Необходимо е да се реализира методът findUnique така, че да работи като обикновен метод на масива [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
Какво ще се случи, ако не посочите масив с зависимости в useEffect? Ако добавите count към масива с зависимости и натиснете бутона, ще се изпълни ли функцията за почистване?
Какво е затваряне в JavaScript? Къде се използва на практика?
Освен методите и типовете ключове, какво още има Map, което няма обект?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo, me 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}> Увеличи </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />;
Дайте пример за затваряне. Използвали ли сте затваряния в React?
const a = {} a[1] = 'test' за ( ... )
Разкажи ми за колекциите Map и Set в JavaScript — какво знаеш за тях?
Каква е разликата между sessionStorage и localStorage?
Обяснете какво е Event Loop. Какво се отнася към микротасковете и какво към макротасковете?
Каква е разликата между типовете any и unknown в TypeScript?
setTimeout(() => { console.log("timeOut"); }, 0) console.log(1); new Promise(resolve => { console.log("Promise"); setTimeout(() => { console.log("777"); resolve() }, 0) }).then(() => { console.log("then1"); }) .then(console.log('tratata')) .then(() => console.log("then2"); }) console.log(4); setTimeout(() => { console.log("timeOut2"); }, 0)
За какво е нужен типът unknown в TypeScript? Как може да се ограничи типът?
const doSomething = (ms) => { return new Promise((resolve, reject) => { setTimeout(() => { if (Math.random() <= 0.5) { reject("error"); } else { resolve(ms); } }, ms); }); }; const getDelay = () => { let rand = 1000 + Math.random() * 2000; return Math.floor(rand); }; const p1 = doSomething(getDelay()); const p2 = doSomething(getDelay()); const p3 = doSomething(getDelay()); const p4 = doSomething(getDelay());
const func = obj.sayHi() const boundFuns = func.bind(obj) boundFuns() ------------------- const submit = (el) => () => { log(el); } arr.map(el => <button onClick={submit(el)}/>) const param = useMemo(() => a + b) return <Child value={param} />
Какви са обхватите на видимост на let/const и var? Има ли още един начин за обявяване на променливи освен var, let, const?