const asSomeInterface = <K extends PropertyKey>(obj: { [P in K]: P extends `@${string}` ? string : never }) => obj;
asSomeInterface({
'@asd': 'asd',
'asd': 'asd', // error
});
const hasPairSum = (nums, desiredValue) => {
if(nums.length < 2) {
return false;
}
const [firstNum, ...tailNums] = nums;
const hasDesiredValue = tailNums.some((num) => firstNum + num === desiredValue);
return hasDesiredValue || hasPairSum(tailNums, desiredValue);
};
require
. Тебе нужно прописать путь строкой. Путь должен быть относительно папки public (это корневая папка для приложения). function getRandomArbitrary(min, max, maxDigits = 0) {
if (min > max || min < 0 || max <= 0) {
return ('Задан неверный диапазон! Укажите другие числа.');
}
const digitsDegree = 10 ** maxDigits;
return ~~((Math.random() * (max - min) + min) * digitsDegree) / digitsDegree;
}
getRandomArbitrary(1, 2, 6);
lispFns[functionName] = (arg) => {return body[0](arg)}
function memorize(fn){
...
return (...args) => {
// args
return fn(...args);
}
}
routes[window.location.pathname];
вернёт ошибку, поскольку ты будешь использовать тип string, которого в объекте нет (только заданные ключи), либо использовать тип { [key: string]: string }
. Почему метод scale используется до того как чтото нарисовать?
ctx.save(); // я вот тут не понимаю, зачем сохранять "ничего"(наверное правильнее говрить "пустой холст" но я в этом не уверен)?
ctx.restore();// и зачем это "ничего" восстанавливать?А после восстанавливает их.
Почему нельзя объект, например четырехугольник или круг, сохранить в переменную чтобы легче было с ним обращатся?