Не выходит создать объект, состоящий из своиств другого объекта
type someType = {
a: string,
b: boolean,
c: number
}
const fields: (keyof someType)[] = ['a', 'b', 'c']
const foo: someType = {
a: '',
b: false,
c: 5
}
const bar: Partial<someType> = {}
for (const field of fields ) {
if (field in foo) {
bar[field] = foo[field]
}
}
При присвоении bar[field] = foo[field]
получаю ошибку
Тип "string | number | boolean" не может быть назначен для типа "undefined". Тип "string" не может быть назначен для типа "undefined".ts(2322)
Объясните пожалуйста, что не так и как надо.
Источник: Stack Overflow на русском