动态访问对象属性的Typescript类型推断

Tam*_*mil 5 javascript types typescript

interface CustomResponse {
    data: string;
    status: number;
    [key: string]: string | number;
}

const RESPONSE_PROPS = {
  DATA: "data",
  STATUS: "status",
};

const response: CustomResponse = {
    data: "test",
    status: 200,
};

let dataWrong: string = response[RESPONSE_PROPS.DATA];
let dataRight: string = response.data;
Run Code Online (Sandbox Code Playgroud)

dataWrong 得到错误

Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'
Run Code Online (Sandbox Code Playgroud)

在上述情况下,如何dataWrong在打字稿中推断正确的类型?类型断言(更好的类型防护)是唯一的方法吗?