¿En qué se diferencia el renderizado de la pintura? ¿Cómo se llama el proceso de comparación entre el árbol DOM virtual y el real?
Frontend
¿Recibiste un código para revisión? — ¿Qué no es óptimo aquí?
¿Cómo escribir una función que devuelva una Promesa que se resuelva en un segundo?
Además de los métodos y tipos de claves, ¿qué más tiene Map que no tenga un objeto?
const SomeElement = ({ hasData }) => { if (hasData) { return <div> <DataElement /> <SomeImportantElement /> </div> } return <div> <SomeImportantElement /> </div> }
// Se aplica el método findUnique al array, que devuelve un nuevo array con los elementos únicos, // es decir, aquellos que aparecen solo una vez en el array original, en el mismo orden. // Es necesario implementar el método findUnique para que funcione como un método normal del array [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
¿Qué sucederá si no especificas un array de dependencias en useEffect? Si añades count al array de dependencias y presionas el botón, ¿se ejecutará la función de limpieza?
¿Qué es un cierre en JavaScript? ¿Dónde se usa en la práctica?
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}> Incrementar </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />;
Da un ejemplo de cierre. ¿Has utilizado cierres en React?
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());
Cuéntame sobre las colecciones Map y Set en JavaScript — ¿qué sabes sobre ellas?
¿En qué se diferencian los tipos any y unknown en TypeScript?
Explica qué es el Event Loop. ¿Qué pertenece a las microtareas y qué a las macro tareas?
¿Para qué sirve el tipo unknown en TypeScript? ¿Cómo se puede reducir el tipo?
¿En qué se diferencia sessionStorage de localStorage?
const a = {} a[1] = 'test' for ( ... )
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)
¿Cuáles son los ámbitos de alcance de let/const y var? ¿Existe alguna otra forma de declarar variables además de var, let, const?
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} />