for (var i = 0; i < 10; i++) {
setTimeout(() => console.log(i), 0);
}
Можно просветить собеседующих, как v8 хранит функции в памяти и почему создавать функции в цикле - это грех. А пару раз встречал, что собеседующие не знали, что setTimeout умеет передавать аргументы в свой колбэк. (~n & 1)
, чтоб не делать лишних кастов <Filter<string | string[] | undefined> //...
писать <Filter<T> //...
какой банк зарплатный (будет зарплатным банк #опа Мира Ltd. и будете мотыляться к единственному банкомату в городе)По современному законодательству работник сам вправе выбирать, на какой банк ему будут перечислять ЗП, а работодатель не в праве отказать в этом.
@Input() public album!: Album;
let formData.entries
Internet Explorer, только от Apple
В await еще не вникал
async function f() {
const start = Date.now();
const r = await {
then(cb) {
setTimeout(cb, 500, 'answer');
},
};
console.log(Date.now() - start, r);
}
ReturnMap[T]
представляет собой конкретный тип снаружи функции и обобщенный тип внутри функции, так как дженерики резолвятся в конкретные типы в момент вызова функции. TS не в состоянии сам сопоставить значение аргумента с конкретным классом, но ему можно об этом рассказать через type-guard