Рассмотрим следующий фрагмент:
const test = [
{
a: [
{
b: 3 as const
}
]
},
{
a: [
{
b: 4 as const
}
]
}
];
test.map(({ a }) => a.map(({ b }) => b));
// Expected inferred type
// a: { b: 3 | 4 }[]
// Actual inferred type
// a: { b: 3 }[] | { b: 4 }[]
Typescript выдает ошибку на a.map
части кода, где он не может применяться .map
к двум разным типам (2-й комментарий в коде)
С использованием as const
правильно ли оно обобщает?