не самую лучшую. Проблема в перегрузке (ее же нет в JS поэтому все через жо-у). С одной стороны ты говоришь у меня есть 2 функции которые различны количеством аргументов , а с другой стороны они обе могут быть функциями одного аргумента поэтому перегруз тупо взял первый символ. Короче надо забыть о перегрузе
type Config = {
returnArray:boolean
}
function foo<T>(a:T[],config?:Config):T[]{
if(config?.returnArray){
// ...
console.log(a.length)
// modify the array
}
return a
}
foo([1,2,3,4])
// ты же игнорировал результат
const y = foo([1,2,3,4],{returnArray: true});
Согласен, в TS это как то не удобно реализовано. Но за решение спасибо 😊
Обсуждают сегодня