Функция переопределения машинописного текста для объекта

Итак, у меня есть эта небольшая функция для пинии. Где я добавляю идентификатор своего объекта для его фильтрации (результат имеет тип Task | undefined) Я даю ключ, который, конечно, должен быть keyof Taskи теперь я как бы борюсь с valueчасть. Я пытался выяснить, что лучше всего подходит для моего варианта использования, это должно быть что-то вроде значения Of или около того, но в настоящее время я не могу найти правильный тип утилиты (если он вообще должен быть).

      changeValue(id: number, key: keyof Task , value: Partial<Task>) {
    const task = this.one(id);
    
    if (task) {
        task[key] = value;
    }
}

Также у меня есть вторая проблема, которая task[key]говорит, что это типа neverкто-нибудь может объяснить, почему это типа никогда?

1 ответ

Вы можете заставить свой код работать, просто используя вывод TypeScript с надлежащим потоком управления:

      changeValue(id: number, key: keyof Task , value: Partial<Task>) {
    const task = this.one(id);
    
    if(task === undefined)
        return; // Handle the undefined case
    
    const propToAssign = value[key];

    if(propToAssign === undefined)
        return; // Handle the undefined case

    task[key] = propToAssign;
}
Другие вопросы по тегам