Issue
Suppose I have object with optional props of this kind of shape
interface MyObject {
requiredProp: SomeType;
optionalProp?: {
innerData: {
innerProp1: string;
innerProp2: number;
innerProp3?: boolean;
}
}
}
const obj:MyObject = { ... }
But it seems that I can't easily destructure that optionalProp
const {innerProp1, innerProp2, innerProp3} = obj.optionalProp?.innerData;
because
Property 'innerProp1' does not exist on type '... | undefined'.
and same for the rest of destructured variables.
Is there an elegant and short way to do this keeping the type safety?
Solution
You could use the empty object as a fallback.
const {innerProp1, innerProp2, innerProp3} = obj.optionalProp?.innerData ?? {};
But you should remember to check that each innerProp is not undefined before using it.
Answered By - Mirco Bellagamba
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.