Следующий код вызывает ошибку. Но if
гарантирует, что e
не является неопределенным. Это ошибка в машинописи или нормальное поведение? Кроме того, как правильно это сделать?
function Foo<T>(data: T, partialData: Partial<T>, key: keyof T) {
const e = partialData[key];
if (e)
data[key] = e;
}
Type 'T[keyof T] | undefined' is not assignable to type 'T[keyof T]'.
Type 'undefined' is not assignable to type 'T[keyof T]'.