如何访问特定的 属性 作为 TypeScript 中的参数?

How to access a specific property as a parameter in TypeScript?

给出一个简单的class:

class Point {
  public x: number;
  public y: number;
  …
}

class 的特定 属性 应作为参数访问。在 JavaScript 中,可以快速表述如下:

let p = new Point();

function getXorY(xy) {
  return p[xy]; // like p["x"] instead of p.x
}

console.log(getXorY("x"));

但这在 TypeScript 中是如何实现的?

我已经彻底搜索了答案。由于想不出合适的关键词,可惜没有成功。

在找到问题的可能解决方案的过程中,我偶然发现了“keyof”——但没有接近解决方案。

请不要根据示例的有用性来评价示例。

像这样定义getXorY

function getXorY(xy: keyof Point) {
  return p[xy]
}

您只能将 'x''y' 传递给它