ф-я которая принимает скажет объект у которого поле test: string[] в этой ф-ии мне нужно вернуть тот же самый обьект только test: string сама функция делает что-то такое
const fn = (obj: {test: string[]}) => {
obj.test = obj.test.map().join(‘’);
return obj;
}
Получаю логичную ошибку что string[] !== string и присвоение выполнить нельзя. Но я хочу принять один тип и вернуть другой, как лучше всего это сделать?
сделай внутри отдельный обьект и его возвращай, ты к переменной с типом string[] пытаешься присвоить string, очевидно не все в порядке
Ты фигню какую-то делаешь. Ты модифицируешь затипизированный объект, который тебе передают аргументом. Во-первых, это порочная практика. Во-вторых, ты уже указал, что test имеет тип string[], а теперь пытаешься присвоить этому свойству значение типа string
Сделать копию объекта?
Это тайпскрипт, всё через типы. Либо объяви два отдельных типа, отнаследуй их от базового типа, в котором будет всё кроме поля test, а в них самих объяви этот test - в каждом по-разному.
Обсуждают сегодня