I need to dereference an optional field from an interface like below
interface Sample {
key1?: Array<Obj1>
}
interface Obj1 {
a?: Obj2;
}
interface Obj2 {
b?: string;
}
const a: Sample["key1"][number]["a"]["b"] = "asd";
However it gives me an error at Sample["key1"][number] saying Type 'Obj1[] | undefined' has no matching index signature for type 'number'.
How to achieve this?