3

How do I downcast in typescript?

const x: {a: number, b: number} = {a: 1, b: 2};

const y: {b: number}            = x;   //   upcast
const z: {a: number, b: number} = ???; // downcast

I can upcast x to y, but what needs to go in ??? to downcast y to z?


For comparison, C# would look like

AandB x = ...
A y = x;
B z = y as B;
Paul Draper
  • 78,542
  • 46
  • 206
  • 285

1 Answers1

1

Try something like:

type AandB = { a: number, b: number };

const x: AandB = { a: 1, b: 2 };
const y: {b: number} = x; // upcast
const z: { a: number, b: number } = y as AandB; // downcast
tony
  • 1,274
  • 1
  • 11
  • 27